YApi
一種接口文檔編寫工具
postman
一種接口測試工具
Restful接口規范
REST
Representational State Transfer(表屬性狀態轉移)
核心:統一接口規范
規范
- 網絡上的所有事物都被抽象為資源
- 每個資源都有一個唯一的資源標識符(books,cars)
- 同一個資源具有多種表現形式(xml 、json 等)
- 所有的操作都是無狀態的
- CRUP(POST GET PUT DELETE)
借口特征表現
用api關鍵字標識接口url:
https://api.baidu.com
https://www.baidu.com/api
注:看到api字眼,就代表該請求url鏈接是完成前后台數據交互的
數據即是資源
接口一般都是完成前后台數據的交互,交互的數據我們稱之為資源
https://api.baidu.com/users
https://api.baidu.com/books
https://api.baidu.com/book
注:一般提倡用資源的復數形式,在url鏈接中獎勵不要出現操作資源的動詞,錯誤示范:https://api.baidu.com/delete-user
特殊的接口可以出現動詞,因為這些接口一般沒有一個明確的資源,或是動詞就是接口
的核心含義
https://api.baidu.com/place/search
https://api.baidu.com/login
資源操作由請求方式決定
操作資源一般都會涉及到增刪改查,我們提供請求方式來標識增刪改查動作
https://api.baidu.com/books - get請求:獲取所有書
https://api.baidu.com/books/1 - get請求:獲取主鍵為1的書
https://api.baidu.com/books - post請求:新增一本書書
https://api.baidu.com/books/1 - put請求:整體修改主鍵為1的書
https://api.baidu.com/books/1 - patch請求:局部修改主鍵為1的書
https://api.baidu.com/books/1 - delete請求:刪除主鍵為1的書
響應狀態碼
之前的博客已經寫過了
響應結果
響應數據要有狀態碼、狀態信息以及數據本身
{
"status": 0,
"msg": "ok",
"results":[
{
"name":"肯德基(羅餐廳)",
"location":{
"lat":31.415354,
"lng":121.357339
},
"address":"月羅路2380號",
"province":"上海市",
"city":"上海市",
"area":"寶山區",
"street_id":"339ed41ae1d6dc320a5cb37c",
"telephone":"(021)56761006",
"detail":1,
"uid":"339ed41ae1d6dc320a5cb37c"
}
...
]
}
需要url請求的資源需要訪問資源的請求鏈接
{
"status": 0,
"msg": "ok",
"results":[
{
"name":"肯德基(羅餐廳)",
"img": "https://image.baidu.com/kfc/001.png"
}
...
]
}