backendapi-development
Solid后端API开发方法论,包括RESTful/GraphQL设计、请求验证、错误处理和安全实现
API & Backend 546 stars
46 forks Updated 1 weeks ago MIT
Install
Quality Score: 89/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# 后端 API 开发方法论
## API 契约管理
### 契约来源
实现 API 前,**必须**阅读 `architecture.md` §5(API 设计),获取:
- API 规范(RESTful/GraphQL)
- 接口列表(方法、路径、描述、认证要求)
- 请求/响应格式约定
- 错误码规范
### 契约遵守原则
1. **严格实现**:API 端点的方法、路径、参数必须与 architecture.md §5 一致
2. **响应格式**:遵循统一的成功/错误响应结构
3. **偏差记录**:如需偏离契约,必须在输出报告中标注原因
4. **类型导出**:将请求/响应类型导出到共享文件,供前端引用
## RESTful API 设计
### 资源命名规范
| 操作 | HTTP 方法 | 路径 | 说明 |
|------|-----------|------|------|
| 列表 | GET | `/api/users` | 获取用户列表 |
| 详情 | GET | `/api/users/:id` | 获取单个用户 |
| 创建 | POST | `/api/users` | 创建新用户 |
| 更新 | PUT/PATCH | `/api/users/:id` | 更新用户 |
| 删除 | DELETE | `/api/users/:id` | 删除用户 |
### 统一响应格式
**成功响应**:
```json
{
"success": true,
"data": { ... },
"message": "Operation successful"
}
```
**错误响应**:
```json
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid input data",
"details": [
{ "field": "email", "message": "Invalid email format" }
]
}
}
```
### 分页规范
**请求参数**:
```
GET /api/users?page=1&pageSize=20&sortBy=createdAt&order=desc
```
**响应格式**:
```json
{
"success": true,
"data": {
"items": [...],
"pagination": {
"page": 1,
"pageSize": 20,
"total": 100,
"totalPages": 5
}
}
}
```
## 请求验证
### 输入验证层级
1. **路由层**:验证路径参数和查询参数
2. **中间件层**:验证请求体格式和必填字段
3. **Service 层**:验证业务规则
### 验证示例
```typescript
// 使用验证库(如 Zod、Joi、class-validator)
import { z } from 'zod';
const CreateUserSchema = z.object({
name: z.string().min(1).max(100),
email: z.string().ema...
Details
- Author
- echoVic
- Repository
- echoVic/boss-skill
- Created
- 5 months ago
- Last Updated
- 1 weeks ago
- Language
- TypeScript
- License
- MIT
Integrates with
Similar Skills
Semantically similar based on skill content — not just same category
API & Backend Listed
api-design
【API设计】根据业务需求设计 RESTful/GraphQL API,输出 OpenAPI 规范文档。包含路由设计、请求/响应 Schema、错误码体系、版本策略。 触发时机: - 用户要求"设计API"、"定义接口"、"写API文档" - 需要从数据库 Schema 推导 API 端点 - 需要统一团队 API 规范 不依赖外部工具,纯 prompt 模板驱动。
0 Updated 2 days ago
afine907 AI & Automation Solid
api
RESTful API design patterns and best practices. Use when creating endpoints, designing APIs, or implementing routes.
43 Updated today
xiaobei930 API & Backend Listed
api-design-principles
当设计/评审 REST 或 GraphQL API、定接口规范、在范式间迁移时使用;做出资源命名、HTTP 语义、分页、版本化、错误格式、Schema 与 N+1 优化的可落地规范与方案;不适用于具体业务代码实现、框架运维部署、接口安全渗透测试;触发词:API 设计、REST、GraphQL、接口规范、endpoint、分页、版本化、HATEOAS、DataLoader、schema design
0 Updated 6 days ago
findscripter