SuperAPI AI 工具集

api-resource-patterns

编程与开发

查看项目

更新于 10-15 22:38

技能介绍

用途:为 Laravel 项目编写规范的 API Resource,统一模型到 JSON 的转换方式,并避免常见性能问题。

主要能力:定义基础 Resource 结构(继承 JsonResource,在 toArray 中返回字段并统一日期格式);使用条件属性,如 whenLoaded 仅在关系已加载时输出、when 按条件输出、mergeWhen 条件合并;处理嵌套关系与集合关系;用 ResourceCollection 输出分页元数据(total、count、per_page、current_page、total_pages)与 links;添加自定义链接;在控制器中定制响应状态码与响应头;读取中间表(pivot)数据;通过 JsonResource::withoutWrapping() 或 $wrap 控制包装;用 with 与 withResponse 附加额外数据。

使用方式:在 App\Http\Resources 下创建 Resource 类,在 toArray(Request $request): array 中返回数组;控制器中返回 new PostResource($post) 或 PostResource::collection(...);分页场景使用自定义 Collection 类。

最佳实践与限制:关系字段一律用 whenLoaded 防止 N+1 查询;使用类型提示;按上下文拆分 Resource(列表、详情);集合包含分页元数据与链接;使用正确 HTTP 状态码;保持日期格式一致。资料未提供安装命令、版本要求或收费信息。