RESTful API-設計規範
URL 設計
動詞+賓語
RESTful 的核心思想就是,客戶端發出的數據+操作指令都是“動詞+賓語”的結構,比如GET /articles這個命令,GET 是動詞,/articles 是賓語,動詞通常就有 5 種 HTTP 請求方法,對應 CRUD 操作,根據 HTTP 規範,動詞一律大寫。
# GET:讀取(Read)
# POST:新建(Create)
# PUT:替換(Replace),全量更新,應具冪等性
# PATCH:更新(Update),通常是部分更新
# DELETE:刪除(Delete)
動詞的覆蓋
有些客戶端只能使用 GET 和 POST 這兩種方法。服務器必須接受 POST 模擬其他三個方法(PUT、PATCH、DELETE)。這時,客戶端發出的 HTTP 請求,要加上X-HTTP-Method-Override屬性,告訴服務器應該使用哪一個動詞,覆蓋 POST 方法。
POST /api/Person/4 HTTP/1.1
X-HTTP-Method-Override: PUT
上面代碼中,X-HTTP-Method-Override 指定本次請求的方法是 PUT,而不是 POST。