ntb / silverstripe-rest-api

Silverstripe 的 REST API 模块

此包的官方仓库似乎已不存在,因此该包已被冻结。

安装次数: 3,605

依赖者: 3

建议者: 0

安全: 0

星标: 8

关注者: 4

分支: 7

开放问题: 1

类型:silverstripe-module

1.1.0 2018-12-19 12:12 UTC

README

Build Status Latest Stable Version License Scrutinizer Code Quality Total Downloads

此模块以简单的方式模拟 REST API。

所有不同资源的路由应由扩展 BaseRestController 的控制器解决。

之后,您可以将路由添加到您的 YAML 配置文件中。

特性

  • 查询
  • 字段列表
  • 不同的序列化格式
  • 分页
  • 展示者

路由

对于您路由的定义,使用 Silverstripe 配置系统。您可以在该端点的基路由之前添加嵌套路由。在这个例子中,我们有 v/1/sessionsv/1/users/v/1/users//friends

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 中找到更多信息。