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 ヘッダーを使用する必要があります)。
少なくともインクルードに対してこの動作を無効にするにはどうすればよいですか?
ありがとうございました