使用 dingo 第三方扩展包,无法自定义响应格式的问题
最近在学习使用 Laravel 编写符合 restful 风格的 api,想试试 dingo 这个扩展包,动手操作了一下,基本还是很顺利的,只是在响应(Respone) 的时候遇到问题:
我期望的响应格式:
{
"code": 0,
"msg": "success",
"data": {
"username": "username"
}
}
当前的格式:
{
"data": {
"username": "username"
}
}
我尝试使用 setMeta 的方式处理后的结果:
{
"meta":{
"code": 0,
"msg": "success"
},
"data": {
"username": "username"
}
}
还是跟我预期不符合。
我使用了 dingo 提供的转化器,转化了 collection ,写法如下:
return $this->response->collection($result,new OrderTransformer);
翻阅了文档,文档里没有提到要如何自定义响应格式,查阅了网络上相关材料,得出需要复制第三方类库中的 format 文件并且重新实现相关方法,这对我来说不够优雅,想请问大家有没有比较好的方法可以实现我的期望格式呢?
谢谢。
推荐文章: