你们有没有什么比较好的办法统一api response
这里面主要的一个问题是使用了Resource的情况,并且有分页
如果使用additional增加code和message会加到尾部,好像没有办法加到前面,而且我想把所有的数据都放在data,目前如果用additional会把分页相关的信息和data放同一个层
不清楚是不是要这个
处理 RequestHandledListener,通过这个可以拦截响应的 Data,这里可以封装统一返回格式,任意格式
在控制器直接 return 就行了
控制器只返回 Data,然后整个 json 响应数据在 Listener 里面统一格式即可
博客:教你更优雅地写 API 之「规范响应数据」
类似于 dingo api
我们一般很少用
additional
添加code
和message
这类信息,因为一般正常的code
内容一致,一般会随异常的抛出进行渲染,这是在App\Exceptions\Handler
里面注册renderable
来实现的。我们也不在乎最终输出的
JSON
对象属性顺序,毕竟接口的调用方也是程序不会在意属性返回的顺序,JSON
文档不读取完整是不会进行解析的。如果你使用
Resource
的collection()
方法处理Illuminate\Contracts\Pagination\LengthAwarePaginator
返回值中分页信息应在data.meta
属性中,与列表的data.data
是分离的。你也可以使用中间件或wrap
属性等方式自定义返回格式。不知道这个是不是你想要的 github.com/alicfeng/api-response