php返回200,关于API 使用 HTTP 状态码还是全部返回 200
現(xiàn)在的項目api想用restful風格,然后目前的api接口返回規(guī)范:所有成功接口返回{status:200,msg:'',data:{}},出錯接口返回{status:403,msg:'',data:{}},也就是只有200和403兩種狀態(tài),我感覺不太對勁,搜了下網(wǎng)上的
200 OK - [GET]:服務(wù)器成功返回用戶請求的數(shù)據(jù),該操作是冪等的(Idempotent)。
201 CREATED - [POST/PUT/PATCH]:用戶新建或修改數(shù)據(jù)成功。
202 Accepted - [*]:表示一個請求已經(jīng)進入后臺排隊(異步任務(wù))
204 NO CONTENT - [DELETE]:用戶刪除數(shù)據(jù)成功。
400 INVALID REQUEST - [POST/PUT/PATCH]:用戶發(fā)出的請求有錯誤,服務(wù)器沒有進行新建或修改數(shù)據(jù)的操作,該操作是冪等的。
401 Unauthorized - [*]:表示用戶沒有權(quán)限(令牌、用戶名、密碼錯誤)。
403 Forbidden - [*] 表示用戶得到授權(quán)(與401錯誤相對),但是訪問是被禁止的。
404 NOT FOUND - [*]:用戶發(fā)出的請求針對的是不存在的記錄,服務(wù)器沒有進行操作,該操作是冪等的。
406 Not Acceptable - [GET]:用戶請求的格式不可得(比如用戶請求JSON格式,但是只有XML格式)。
410 Gone -[GET]:用戶請求的資源被永久刪除,且不會再得到的。
422 Unprocesable entity - [POST/PUT/PATCH] 當創(chuàng)建一個對象時,發(fā)生一個驗證錯誤。
500 INTERNAL SERVER ERROR - [*]:服務(wù)器發(fā)生錯誤,用戶將無法判斷發(fā)出的請求是否成功。
我是否是要按照這樣的規(guī)范根據(jù)不同的情況去返回狀態(tài)碼?比如get請求成功返回200,post請求成功返回201?而不是只要成功就返回200?話說這些狀態(tài)碼真的是寫在返回值里嗎?不是應(yīng)該http協(xié)議里自動判定的嗎?或者在返回的header里修改?這里很迷糊,希望大神解惑!
總結(jié)
以上是生活随笔為你收集整理的php返回200,关于API 使用 HTTP 状态码还是全部返回 200的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.3线性表的链式表示和实现
- 下一篇: Java基础入门笔记-数组对象