返回的数据想要包裹多的 code 和 message 两项,该怎么处理?
- 我想要做成如下的通用json返回格式在dingo或者transformer中应该怎么做?
{ "code": 0, "message": "登录成功", "data": { "object":$object } }
- 我试了在transformer中设置两个属性 code 和message ,通过构造方法传入这两个值,但会遇到如果获取多个用户的话,就会有问题,每个数据都会带上code 和message。我现在需要的是只带一个code 和message的情况,请问有什么方法可以设置?
-
transformer中代码如下
protected $code; protected $message; public function __construct($code, $message) { $this->code = $code; $this->message = $message; } public function transform(User $user) { return [ 'code' => $this->code, 'message' => $this->message, 'data' => [ 'id' => $user->id, 'name' => $user->name, 'email' => $user->email, 'created_at' => $user->created_at->toDateTimeString(), 'updated_at' => $user->updated_at->toDateTimeString() ] ]; }
对于 200 系列的响应,code 和 message 没有意义,判断状态码就行了。
不推荐这么干,如果你非要这么干:
修改 config/api.php 的 format,写一个你自己的类,继承一下,重写 encode: