Apiato 应用程序-入门-响应

Apiato响应

在Apiato中,您可以定义自己的响应有效负载或使用其中一个受支持的序列化程序。
目前支持的序列化程序是(ArraySerializerDataArraySerializerJsonApiSerializer)。由Fractal提供。
默认情况下Apiato使用DataArraySerializer。以下是响应有效负载的示例。

默认Apiato响应有效数据格式:

DataArraySerializer pesponse有效载荷如下所示:

{
  "data": [
    {
      "id": 100,
      ...
      "relation 1": {
        "data": [ // multiple data
          {
            "id": 11,
              ...
          }
        ]
      },
      "relation 2": {
        "data": { // single data
          "id": 22,
          ...
          }
        }
      }
    },
    ...
  ],
  "meta": {
    "pagination": {
      "total": 999,
      "count": 999,
      "per_page": 999,
      "current_page": 999,
      "total_pages": 999,
      "links": {
        "next": "http://api.apiato.develop/v1/accounts?page=999"
      }
    }
  },
  "include": [ // what can be included
    "xxx",
    "yyy"
  ],
  "custom": []
}

分页反应:
对数据进行分页时,响应有效负载将包含meta有关分页的说明。

{
  "meta": {
    "pagination": {
      "total": 999,
      "count": 999,
      "per_page": 999,
      "current_page": 999,
      "total_pages": 999,
      "links": {
        "next": "http://api.apiato.develop/v1/accounts?page=999"
      }
    }
  },
  "include": [ // what can be included
    "xxx",
    "yyy"
  ],
  "custom": []
}

包括:

通知用户可以在响应中包含哪些关系。例:?include=tags,user

有关更多详细信息,请阅读Relationships “ 查询参数”页面中的部分

更改默认响应有效负载:

默认响应格式(规范)是DataArrayFractal Serializer(League\Fractal\Serializer\DataArraySerializer)。

要更改默认的Fractal Serializer,请打开.env文件并更改

API_RESPONSE_SERIALIZER=League\Fractal\Serializer\DataArraySerializer

支持的序列化器是

  • ArraySerializer
  • DataArraySerializer
  • JsonApiSerializer
    更多细节可以在FractalLaravel Fractal Wrapper中找到。
    如果返回JSON Data(JsonApiSerializer),您可能希望检查一些JSON响应标准:
  • JSEND(非常基础)
  • JSON API(非常受欢迎且文档齐全)
  • HAL(在超媒体情况下有用)

资源键

对于JsonApiSerializer

变换器允许将a附加ResourceKey到已转换的资源。您可以通过ResourceKey两种方式在响应有效负载中设置:
通过$this->transform()呼叫中的相应参数手动设置它。请注意,这只会设置top level资源键,不会影响资源中的资源键included
在相应的上指定它Model。通过覆盖$resourceKey,(protected $resourceKey = 'FooBar';)。如果$resourceKey未定义ModelShortClassName则用作键。例如,所述ShortClassNameApp\Containers\User\Models\User::classUser

对于DataArraySerializer。

默认情况下,object关键字用作每个响应的资源键,并在每个转换器中手动设置, 以便稍后自动执行。

错误响应格式

访问每个功能,例如身份验证,您将看到未经身份验证的响应如何,授权,验证等相同。

构建来自控制器的响应:

检查Controller响应构建器帮助程序函数

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!