首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Phalcon RESTful API

Phalcon RESTful API
EN

Stack Overflow用户
提问于 2015-06-08 08:29:38
回答 2查看 5.5K关注 0票数 1

我正在使用Phalcon(微)构建一个RESTful API。这个框架对我来说是新的,我对它没有经验。

我想找到一些资源,它提供了最佳实践,并举例说明了如何以正确的方式创建。

端点的数量越来越大,我觉得我走错了方向。

http://docs.phalconphp.com/en/latest/reference/tutorial-rest.html我看了一下本教程,但它太简单了,没有涵盖我所有的问题。我的API会大得多。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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

加油,奥利

票数 3
EN

Stack Overflow用户

发布于 2015-06-15 07:09:55

没有正确的方法,但我遇到了两种模式。它们都基于以下概念:您的操作将以请求方法命名: getAction、postAction、putAction、patchAction、deleteAction。

模式1创建一个单独的模块的RESTful API。模式2(下面)是让基本调用和RESTful调用访问相同的模块/控制器。

代码语言:javascript
复制
// 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
]);

奖金!这里是一堆其他的例子供您参考。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30704388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档