我正在创建我的第一个API,如果传递了两个值,我应该以JSON格式获得响应。该号码将通过POST作为参数传递。使用cURL或任何可用的POST方法。
即使这是一个非常基本的,我想知道最佳实践,API应该由模型控制器基础创建。不只是简单的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。
答案 0 :(得分:72)
在你的例子中,它很好:它很简单而且很有效。我建议的唯一的事情是:
确保您的API正在发送Content-Type
标头,以告知客户端需要JSON响应:
header('Content-Type: application/json');
echo json_encode($response);
除此之外,API是接受输入并提供输出的东西。有可能“过度设计”事物,因为你需要做的事情更复杂。
如果您想沿着控制器和模型的路线前进,请阅读MVC pattern并了解您的域对象如何适应它。看一下上面的例子,我可以看到一个MathController
add()
动作/方法。{/ p>
GitHub上有一些RESTful API的起点项目值得一看。
答案 1 :(得分:17)
尝试从头开始编写REST API并不是一项简单的任务。需要考虑许多问题,您需要编写大量代码来处理来自调用者的请求和数据,身份验证,数据检索以及发回响应。
您最好的选择是使用已经准备好此功能的框架并为您进行测试。
一些建议是:
Phalcon - REST API building - 易于在一个具有巨大性能的框架中使用
Apigility - 适用于Zend Technologies的所有API处理框架
Laravel API Building Tutorial
还有更多。对Bitbucket / Github的简单搜索将为您提供大量资源。