关于 laravel-api-resources-and-pagination
面向 Laravel 开发者的技能,介绍如何用 API Resource 表示模型并处理分页。重点是保留客户端所需的分页链接与游标,并管理资源契约变更。
主要功能
- 01使用 Resource 集合输出模型
- 02支持条件字段
- 03保留分页链接与游标
- 04资源版本管理
适用场景
- 01构建分页 API 响应
- 02按条件返回资源字段
- 03调整 API 资源契约
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ noartem/ skills --skill laravel-api-resources-and-pagination安装后在 Claude Code 中输入/laravel-api-resources-and-pagination确认已加载。
详细介绍
API 资源与分页
通过资源表示模型;不要将传输层相关逻辑放入 Eloquent。
命令
# Resource
php artisan make:resource PostResource # or: php artisan make:resource PostResource
# Controller usage
return PostResource::collection(
Post::with('author')->latest()->paginate(20)
);
# Resource class
public function toArray($request)
{
return [
'id' => $this->id,
'title' => $this->title,
'author' => new UserResource($this->whenLoaded('author')),
'published_at' => optional($this->published_at)->toAtomString(),
];
}
模式
- 优先使用
Resource::collection($query->paginate()),而不是手动创建数组 - 使用
when()/mergeWhen()添加条件字段 - 保留分页游标和链接,供客户端使用
- 契约发生变化时对资源进行版本管理;避免静默破坏字段
评论
支持 Markdown