>[info] JWT 的原理
客戶端使用客戶名和密碼去請求服務端的時候,服務端返回一個JSON Web Token,客戶端根據自己端的情況可以保存在cookie或則localstorage中,當客戶端要請求資源uri的時候就在頭部帶上這個JSON Web Token,一般是在 header 的?Authorization?使用?Bearer?的形式,一個包含的 JWT 的請求頭的 Authorization 如下:`Authorization: Bearer<token>`

> #### 路徑規則
```
路徑又稱"終點"(end point),表示API的具體網址。
1、在RESTful架構中,每個網址代表一種資源(resource),所以網址中不能有動詞,只能有名詞。
【所用的名詞往往與數據庫的表格名對應】
2、數據庫中的表一般都是同種記錄的"集合"(collection),所以API中的名詞也應該使用復數。
https://api.example.com/v1/products
https://api.example.com/v1/users
```
> #### 請求方式
```
GET(select): 從服務器取出資源(一項或多項)。
POST(create/update): 在服務器新建一個資源。
GET /products 獲取所有商品
POST /products 新建一個商品
```
> #### 過濾信息
```
若記錄數量很多,服務器不可能返回全部記錄給用戶。
API應該提供分頁參數及其它篩選參數,過濾返回結果。
/v1/products?page=1&pageSize=20 指定第幾頁,以及每頁的記錄數。
/v1/products?sortBy=name&order=asc 指定返回結果按照哪個屬性排序,以及排序順序。
```
#### 傳入參數
```
傳入參數分為4種類型:
1、cookie: 一般用于OAuth認證
2、request header: 一般用于OAuth認證
3、請求body數據:
4、地址欄參數:
1)restful 地址欄參數 /v1/products/ID ID為產品編號,獲取產品編號為ID的信息
2)get方式的查詢字段 見【過濾信息】
```
#### 響應參數
```
{
status: 200,
data: {
code: 1,
data: {} || [],
message: '成功',
sysMessage: 'success'
},
msg: '成功',
sysMsg: 'success'
}
```
#### 接口文檔
```
接口地址:不包含接口BASE地址。
請求方式: get、post、put、delete等。
請求參數:數據格式【默認JSON、可選form data】、數據類型、是否必填、中文描述。
響應參數:類型、中文描述。
```