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