SuperAPI AI 工具集

laravel-api

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:在 Laravel 项目中创建 API 端点、用 API Resource 转换响应,以及处理接口认证、限流与版本化。

主要能力:RESTful 控制器、API Resources(JsonResource)响应转换、Form Request 表单验证、中间件与路由保护、路由版本化(/v1、/v2)、路由模型绑定、限流、偏移与游标分页、HTTP 客户端消费外部 API、签名 URL、JSON 响应。资料以功能矩阵标注上述能力均已支持。

工作流要求:任何实现前并行启动三个 Agent(fuse-ai-pilot:explore-codebase 分析既有 API 模式、fuse-ai-pilot:research-expert 经 Context7 核对 Laravel API 文档、mcp__context7__query-docs 检查 API Resources 与 Sanctum 模式);实现后运行 fuse-ai-pilot:sniper 校验。

关键规则与用法示例:始终使用 API Resources,不直接返回 Eloquent 模型;路由加版本前缀;输入统一用 Form Request 校验;按路由配置限流;保持响应结构与状态码一致;控制器保持轻量、逻辑交给 service;分页前用 with() 预加载避免 N+1。示例:Route::middleware('throttle:60,1')->group(...);Route::prefix('v1')->group(function () { Route::apiResource('posts', PostController::class); });return PostResource::collection(Post::paginate(15));return PostResource::make($post)->response()->setStatusCode(201)。

Laravel 13 说明:API Resources 引入 #[Collects] 与 #[PreserveKeys] 属性配置 ResourceCollection。JSON:API 合规(稀疏字段集、includes、links)参见 laravel-jsonapi。

最佳实践:每个公开 JSON 响应都用 API Resource;用 URL 而非请求头做版本控制;按用户和 IP 分别限流;先写 OpenAPI/Scribe 文档再编码;大列表优先 cursor() 分页。避免直接返回模型泄露字段、混用状态码(校验用 422、区分 401/403)、跳过表单验证、公开自增 ID(用 UUID/ULID)、外部 webhook 忘记豁免 CSRF。

限制:资料未提供具体安装命令、收费信息、运行环境要求或实测效果;实际可用性需结合项目与官方文档核对。