讨论数量:
当构建 API 时,你往往需要一个转换层来联结你的 Eloquent 模型和实际返回给用户的 JSON 响应。Laravel 的资源类能够让你以更直观简便的方式将模型和模型集合转化成 JSON。
文档简介说的挺明白的,特别是当你需要返回的字段多达几十个的时候,如果全部塞在 Controller
里会显得十分臃肿。
这个东西的好处是不光能封装分页格式
,而且能统一各个接口的输出。比如做个UserResource
统一用户列表
和用户详情
的输出。 不过有的时候列表和详情输出的字段
或者关联关系
不一样,那也可以在UserResource
设置按需加载。 最主要一点,是和控制器代码解耦,只负责转换输出数据。
@myaccountl 这个不也是循环吗 :joy:
我目前觉得和控制器解耦才是这个功能最大的作用 如果不是返回的数据多或者结构比较复杂的情况下我应该还是会直接就 response()->json([])
了 :grin:
这个东西的好处是不光能封装
分页格式
,而且能统一各个接口的输出。比如做个UserResource
统一用户列表
和用户详情
的输出。 不过有的时候列表和详情输出的字段
或者关联关系
不一样,那也可以在UserResource
设置按需加载。 最主要一点,是和控制器代码解耦,只负责转换输出数据。