我正在使用Phalcon(微)构建一个RESTful API。这个框架对我来说是新的,我对它没有经验。
我想找到一些资源,它提供了最佳实践,并举例说明了如何以正确的方式创建。
端点的数量越来越大,我觉得我走错了方向。
http://docs.phalconphp.com/en/latest/reference/tutorial-rest.html我看了一下本教程,但它太简单了,没有涵盖我所有的问题。我的API会大得多。
发布于 2015-06-08 10:42:05
老实说,这取决于REST的严格程度。如果计划在API文档中发布端点,那么这是一个很好的教程:http://www.restapitutorial.com/
然而,严格地说,那不是休息。(但它仍然是目前最常见的API类型-例如,Google遵循这种方法)。
应该注意的是,如果在这种方法中有很多资源,那么就会有很多端点。你不能逃避这个。
如果您想限制您发布的端点的数量,那么您需要研究HATEOAS (超级媒体作为应用程序状态的引擎)。这实际上是构建一个适当的REST所必需的。
用通俗的英语解释..。
通常,您所需要做的就是拥有一个根端点。然后,在初始资源的JSON有效负载中,包含指向API的其他资源的链接。这些链接应该是您可以用现有数据转换到的下一个状态。
这样,API就像网页一样被“探索”了。也就是说,你会去一个网站的主页,你会点击一个链接到下一页。类似地,您将转到您的根API url,并选择跟随它返回的链接。
还有一个名为HAL的约定用于构造您的JSON响应:specification.html
加油,奥利
发布于 2015-06-15 07:09:55
没有正确的方法,但我遇到了两种模式。它们都基于以下概念:您的操作将以请求方法命名: getAction、postAction、putAction、patchAction、deleteAction。
模式1是创建一个单独的模块的RESTful API。模式2(下面)是让基本调用和RESTful调用访问相同的模块/控制器。
// base
$router->add('/:module/:controller/:action/:params', [
'namespace' => 'App\ModuleName\Controllers',
'module' => 1,
'controller' => 2,
'action' => 3,
'params' => 4
]);
// restful (set action by request method)
$request = new \Phalcon\Http\Request();
$action = $request->getMethod();
$router->add('/:module/:controller/:params', [
'namespace' => 'App\ModuleName\Controllers',
'module' => 1,
'controller' => 2,
'params' => 3,
'action' => $action
]);奖金!这里是一堆其他的例子供您参考。
https://stackoverflow.com/questions/30704388
复制相似问题