HTTP API 設計入坑指南(一)

2021-09-13 17:51:54 字數 1443 閱讀 8053

200  ok    成功

201 created 新建/修改資料成功

202 accepted 請求已進入後台排隊,(非同步任務)但任務並不代表已經執行成功

204 no content 刪除成功

400  invalid request  請求錯誤

401 unauthorized 沒有許可權

403 forbidden 禁止

404 not found 不存在

405 method not allowed 不支援請求方法

422 unprocesable entity 驗證錯誤

500 internal server error  伺服器錯誤
ajax受同源策略(協議、埠、網域名稱都相同)影響,不允許跨域請求,但script的src屬性可以訪問跨域的js指令碼,jsonp使其不返回json資料,而返回「呼叫某函式的js**」,從而實現跨域。

eg: 在www.ren.com中

在test.js中getdata()。 getdata是www.ren.com中的乙個函式

jsonp不支援post請求,因為script不支援post

jquery提供方便使用jsonp的方式

在ren.php中寫

$data = array('name' => '小小聰');

$callback = $_get['callback'];

echo $callback."(".json_encode($data).")";

return;

不同語言資料型別解析規則不一致,導致不同語言之間部分資料型別無法解析

eg: 部分語言沒有null型別,go、lua使用nil表示

部分語言布林值沒有0,1概念

陣列型別大小不一致、型別最大值不一樣

php注意:

陣列轉json物件為,如果陣列為空,轉json則為。

對於api,字段型別應當是固定的,陣列和物件的轉換,某些語言無法處理,object為空時,使用 new stdclass() 空物件代替,而非空陣列[ ]

python注意:

打包json時,對unicode字元轉換後會在字串前新增 u 字首

注意生成json任何情況下都不改出現單引號,必須是雙引號

一切皆字串

授權、安全部分在下篇文章

記得關注我呦

HTTP API 設計指南(結尾)

為了保證持續和及時的更新,強烈推薦在我的github上關注該專案,歡迎各位star fork或者幫助翻譯 這篇指南介紹描述了 http json api 的一種設計模式,最初摘錄整理自 heroku 平台的 api 設計指引 heroku 平台 api 指引。這篇指南除了詳細介紹現有的 api 外,...

HTTP API 設計指南(響應部分)

這篇指南介紹描述了 http json api 的一種設計模式,最初摘錄整理自 heroku 平台的 api 設計指引 heroku 平台 api 指引。這篇指南除了詳細介紹現有的 api 外,heroku 將來新加入的內部 api 也會符合這種設計模式,我們希望非 heroku 員工的api設計者...

HTTP API 設計指南(基礎部分)

這篇指南介紹描述了 http json api 的一種設計模式,最初摘錄整理自 heroku 平台的 api 設計指引 heroku 平台 api 指引。這篇指南除了詳細介紹現有的 api 外,heroku 將來新加入的內部 api 也會符合這種設計模式,我們希望非 heroku 員工的api設計者...