在 Laravel 9 中,使用 API 资源集合,禁用单个接口的最外层资源的包裹 data 键
1、最初的响应结构如下:如图1
{
"data": [
{
"id": 1,
"return_order_id": 61,
"return_order_item_id": 86
},
{
"id": 2,
"return_order_id": 61,
"return_order_item_id": 86
}
]
}
2、由于不需要分页,前端希望去掉最外层资源的包裹 data 键,设置「数据」包装器 为 null。修改资源集合类如下
class ReturnOrderItemReceiptRecordResourceCollection extends ResourceCollection
{
/**
* 应该应用的「数据」包装器。
*
* @var string
*/
public static $wrap = null;
/**
* Transform the resource into an array.
*
* @param Request $request
* @return array
*/
public function toArray($request): array
{
return parent::toArray($request);
}
}
3、结果符合预期,接口响应一个数组。如图2
[
{
"id": 1,
"return_order_id": 61,
"return_order_item_id": 86
},
{
"id": 2,
"return_order_id": 61,
"return_order_item_id": 86
}
]


近期评论