mcpField
L
laravel-api-resources-and-pagination

laravel-api-resources-and-pagination

github.com/noartem开发1377 次安装3 周前更新
代码仓库

关于 laravel-api-resources-and-pagination

面向 Laravel 开发者的技能,介绍如何用 API Resource 表示模型并处理分页。重点是保留客户端所需的分页链接与游标,并管理资源契约变更。

主要功能

  1. 01使用 Resource 集合输出模型
  2. 02支持条件字段
  3. 03保留分页链接与游标
  4. 04资源版本管理

适用场景

  1. 01构建分页 API 响应
  2. 02按条件返回资源字段
  3. 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