php - 使用 PHP 创建 REST API

这个问题在这里已经有了答案:
关闭8年前.

我正在创建我的第一个 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 的起点项目。值得一看。

https://stackoverflow.com/questions/21959312/

相关文章:

jquery - 将json加载到变量中

java - 从 JSONArray 转换为 String 然后再转换回来

python - 在 json 中发送 NaN

jquery - JSON解析错误语法错误意外结束输入

ios - 如何在 Swift 中组合两个 Dictionary 实例?

json - 如何加密散列 JSON 对象?

javascript - 从名称、值 JSON 数组中获取一项

java - 不支持 Spring Rest POST Json RequestBody 内容类型

javascript - JSON 架构 : "allof" with "additionalPro

java - 对象数组与对象对象