ntb / silverstripe-rest-api
Silverstripe 的 REST API 模块
此包的官方仓库似乎已不存在,因此该包已被冻结。
1.1.0
2018-12-19 12:12 UTC
Requires
- php: >=5.3.2
- composer/installers: *
- silverstripe/framework: >=3.1.13
This package is auto-updated.
Last update: 2022-02-19 20:16:31 UTC
README
此模块以简单的方式模拟 REST API。
所有不同资源的路由应由扩展 BaseRestController 的控制器解决。
之后,您可以将路由添加到您的 YAML 配置文件中。
特性
- 查询
- 字段列表
- 不同的序列化格式
- 分页
- 展示者
路由
对于您路由的定义,使用 Silverstripe 配置系统。您可以在该端点的基路由之前添加嵌套路由。在这个例子中,我们有 v/1/sessions
、v/1/users/
和 v/1/users/
。
Director: rules: 'v/1/users/$ID!/friends/$FriendID': 'FriendshipController' 'v/1/users/$ID': 'UserController' 'v/1/sessions/$ID': 'Ntb\RestAPI\SessionController'
GET 参数
如果您通过浏览器访问您的 API,只要您未指定 accept
GET 参数,控制器就会将其渲染为 HTML,例如 ?accept=json
。
您可以使用 access_token
指定访问令牌。这可以用于使用特定权限访问受限资源。
测试
对于功能测试,您可以扩展 RestTest
类并使用它来测试您的应用程序。我们建议使用类似 Silverstripe 文档中解释的固定值进行测试。
更多信息
您可以在 wiki 中找到更多信息。