# Rest风格API规范
规范出的主要目的就是统一接口,使之统一化语义化.
数据在后端的处理无非就是CURD(增删改查),设计好的接口能够使前后端减少不必要的沟通.
## 对请求方式的功能性定义
`GET ` 用来获取资源,
`POST` 用来新建资源(也可以用于更新资源),
`PUT` 用来更新资源,
`DELETE` 用来删除资源。
## 常识问题
`GET` 传参通过query 也就是 `/api/user?query1=xxx&query2=123`
`POST` 传参主要通过body 也就是包裹在请求体内
下面使用 `用户`
## 增加数据 C
✅正确示范
`POST /api/user`
❌错误示范
`POST /api/user/createUser`
## 更新数据 U
1. 修改用户信息
✅正确示范
`POST /api/user/:id/edit`
❌错误示范
`POST /api/user/updateUser`
2.更改用户状态,比如给某个用户点赞
`POST /api/user/:id/zan`
以此类推 给某类对象改变特殊状态采用以下方式
`POST /api/user/:id/function`
给某篇文章点赞
`POST /api/post/:id/zan`
收藏某篇文章
`POST /api/post/:id/fav`
加入一个群
`POST /api/group/:id/join`
## 阅读数据 R
### 单条数据
1 获取单条数据 获取某人个人详情
`GET /api/user/:id`
### 数据列表
> 数据列表一般都会有分页
1 获取数据列表
比如取所有用户
`GET /api/user`
一般列表会有很多检索,过滤 比如搜索.类别 这类检索信息通过query 传参
- 比如 获取名称含有张的用户
`GET /api/user?search_field=name&keyword=张`
- 比如 获取用户中的超级会员
`GET /api/user?vip=1`
- 比如 获取分页信息
`GET /api/user?page=2&limit=20`
- 比如 获取年龄为15的用户
`GET /api/user?age=15`
所有的查询请求可以叠加
比如
`GET /api/user?search_field=name&keyword=张&page=2&limit=20&age=15`
2 获取对象相关的数据列表
- 比如 获取某人的帖子
`GET /api/user/:id/post`
- 比如获取某人关注的话题
`GET /api/user/:id/topic`
## 删除数据
`DELETE /api/user/:id`
## 使用路由
```
Route::post('xdk/plan$','xdk/plan/save');
Route::post('xdk/plan/:id/fav$','xdk/plan/fav');
Route::post('xdk/plan/:id/comments$','xdk/plan/comments'); //推荐
```
- 首页
- APP
- 调试
- 部分问题解答
- IM
- 魔工坊APP框架
- 前端
- npm
- MogoAjax
- ES6
- javascript规范
- weui
- 微信小程序
- Mock数据伪造
- Mogo-Css
- O2-Upload
- 七牛图片处理
- 前端调试
- 后端
- 魔工坊海豚PHP
- 文件上传
- O2-Comments
- 前端API
- 消息
- Excel导入/导出
- 阿里短信
- dolphinPHP
- Thinkphp
- 海豚PHP
- 创建项目
- 人人商城与海豚同步问题
- mysql
- 发送HTTP请求
- 支付
- 个推
- 接口开发须知
- 生成海报
- 音频转换
- openssl
- App上架的故事
- 安卓签名问题
- 苹果账号申请
- 各个平台上架内容
- 文案小姐姐的文档
- 微信支付申请流程
- 备案的故事
- 企业支付宝认证
- 微信公众问题
- 微信开放平台与上架应用
- 小程序特殊行业所需材料
- 模型文档模板
- 必读规范
- 跨域
- 前后端数据通讯接口规范
- Restful风格API规范
- 服务器
- SSL中间证书
- Git篇章
- MogoSDK
- 文档模板
- PHP
- 使用
- 概念
- User
- 模型
- 文档书写
- JS
- 安装
- 初始化
- 用户
- 状态管理
- 查询
- 执行函数
- 请求
- 上传
- MogoH5+