php - 使用 PHP 创建 REST API

标签 php json api rest curl

我正在创建我的第一个 API,如果向其传递两个值,我应该得到 JSON 格式的响应。该数字将通过 POST 作为参数传递。使用 cURL 或任何可用的 POST 方法。

虽然这是一个非常基本的,但我想知道最佳实践和 API 应该由模型 Controller 创建。不仅仅是普通的 PHP。

我在 Google 上搜索了许多 REST API 教程。他们很好,我已经获得了一些知识。

但我想获得代码的示例模型,以便我可以引用它并构建自己的模型,当然该示例是在制作真正的 REST API 的标准实践中。

如果你问我尝试过什么,那真的很有趣,作为一个初学者,我能做的就是:

$num1 = $_REQUEST['num1'];
$num2 = $_REQUEST['num2'];

$total = $num1 + $num2;
echo json_encode($total);

当然,这永远不能称为 API,但仍然如此。如果我对此给出 POST 响应,我希望来自 REST API 的响应为 JSON。我应该也可以通过 REST 控制台对其进行测试,以便获得标准响应。

请为我提供一个非常基本但标准的 RESTful API。

最佳答案

在您的示例中,这很好:它简单且有效。我唯一建议的是:

  1. 验证发布的数据
  2. 确保您的 API 正在发送 Content-Type header 以告诉客户端期待 JSON 响应:

    header('Content-Type: application/json');
    echo json_encode($response);
    

除此之外,API 是一种接受输入并提供输出的东西。有可能“过度设计”事物,因为你会使事情变得更复杂。

如果您想了解 Controller 和模型的路线,请阅读 MVC pattern并弄清楚您的域对象如何适应它。看上面的例子,我可以看到一个 MathController 和一个 add() Action /方法。

GitHub 上有一些 RESTful API 的起点项目。值得一看。

关于php - 使用 PHP 创建 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21959312/

相关文章:

特定音高的Android语音识别

ruby - 通过 API v1.5 访问整个 netflix 目录

php - 在发送请求之前,PHP是否针对WSDL验证请求?

c# - 通过 ASP.NET WebMethod 在 JSON 中添加 Entity Framework 实体(一对多)

比较两个字典并在键匹配的情况下追加嵌套对象的 Pythonic 方法

javascript - 将 IEnumerable<DayOfWeek> 以哪种格式序列化到 javascript 客户端

java - WSO2 EI - 构建直通流时出现 RelayUtils 错误

php - 从子文件夹调用数据库播种机

PHP Joomla 2.5 MySQL 加载数据文件 - 权限被拒绝

带有 Or 的 PHP mysql SELECT QUERY