Files
2026-09-30 11:11:54 +08:00

32 lines
1.0 KiB
Plaintext

---
description: REST API 路由与统一 JSON 返回格式
globs: backend/routes/**/*.php,backend/app/Http/**/*.php
alwaysApply: false
---
# API 规范
详见 `docs/07-api.md`。
## 路由
- 统一前缀 `/api/v1/`,资源名复数,路由参数优先业务编码。
- 状态动作:`POST /api/v1/{resource}/{code}/{action}`
```
POST /api/v1/inbounds/{inbound_no}/receive
POST /api/v1/outbounds/{outbound_no}/allocate
```
- 认证 Sanctum;每个接口都要经过 Policy / Gate 授权,权限码形如 `outbound:allocate`。
- 列表接口必须分页并使用统一分页格式。
## 统一返回
所有接口通过统一响应工具(如 `App\Support\ApiResponse`)返回,禁止 Controller 自定义结构。
```json
{ "success": true, "message": "OK", "data": {} }
{ "success": false, "message": "操作失败", "errors": {} }
```
- 输出数据统一经 API Resource 转换,不直接返回 Model。
- 验证错误、业务异常、授权失败在异常处理器中统一转换为失败格式。