是否有一种简单的方法可以从 Dingo API 响应中删除“数据”信封。
当我使用这个 Transformer 来转换用户模型时:
class UserTransformer extends EloquentModelTransformer
{
/**
* List of resources possible to include
*
* @var array
*/
protected $availableIncludes = [
'roles'
];
protected $defaultIncludes = [
'roles'
];
public function transform($model)
{
if(! $model instanceof User)
throw new InvalidArgumentException($model);
return [
'id' => $model->id,
'name' => $model->name,
'email' => $model->email
];
}
/**
* Include Roles
*
* @param User $user
* @return \League\Fractal\Resource\Item
*/
public function includeRoles(User $user)
{
$roles = $user->roles;
return $this->collection($roles, new RoleTransformer());
}
我得到这个回应:
{
data : [
"id": 102,
"name": "Simo",
"email": "mail@outlook.com",
"roles": {
"data": [
{
"id": 1
"name": "admin"
}
]
}
}
]
}
我读了一些关于 RESTful API 的文章,其中很多都说这种封装的响应不是很现代(你应该改用 HTTP Header)。
如何至少为包含禁用此行为?
谢谢