PHP 接口开发:RESTful API 设计与实战
一、RESTful API 设计规范
REST(Representational State Transfer)是一种 API 设计风格,核心是 “资源为中心”:
1. HTTP 方法语义
表格
| 方法 | 用途 | 示例接口 |
|---|---|---|
| GET | 查询资源 | /api/v1/users |
| POST | 创建资源 | /api/v1/users |
| PUT | 更新资源 | /api/v1/users/1 |
| DELETE | 删除资源 | /api/v1/users/1 |
2. 状态码使用
表格
| 状态码 | 含义 | 场景 |
|---|---|---|
| 200 | 成功 | 查询 / 更新成功 |
| 201 | 创建成功 | POST 创建资源成功 |
| 400 | 参数错误 | 缺少必填参数 / 参数格式错误 |
| 401 | 未授权 | 未登录 / Toke 过期 |
| 403 | 禁止访问 | 权限不足 |
| 404 | 资源不存在 | 查询的 ID 不存在 |
| 500 | 服务器内部错误 | 代码异常 / 数据库连接失败 |
3. 接口命名规范
用名词表示资源,不用动词:
/users(正确)、/getUsers(错误);版本号入 URL:
/api/v1/users(便于兼容旧版本);嵌套资源:
/api/v1/users/1/orders(用户 1 的订单);分页 / 筛选:
/api/v1/users?page=1&size=10&status=1。
二、Laravel 实现 RESTful API
1. 创建路由
修改routes/api.php:
2. 创建 Controller
3. JWT 身份认证
安装 JWT 扩展:
发布配置:
生成密钥:
修改 User 模型:
添加登录接口:
路由添加认证中间件:
三、API 文档自动生成
使用 Swagger(L5-Swagger):
安装扩展:
发布配置:
在 Controller 中添加注解:
访问文档:
http://your-domain/api/documentation。