# 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+