RESTful API設計中常見的問題和解決方案

2022-08-24 08:54:11 字數 1368 閱讀 2841

目錄資源對應的名詞形式造成的問題的解決

資源之間的關係是一對一情況的處理

在開發http api的時候,我們一般會按照rest風格來設計,符合rest風格的api也稱為restful api。

restful api的主要規則包括以下幾點:

標準的restful api示例如下:

post /customers:建立乙個消費者

get /customers:獲取消費者列表

get /customers/:獲取某個具體的消費者

put /customers/:更新某個具體的消費者資訊(全量更新)

patch /customers/:更新某個具體的消費者的資訊(部分更新)

delete /customers/:刪除某個具體的消費者

// 有聯絡的資源之間的處理

get /customers//orders:獲取某個具體消費者的訂單列表

...

restful api 設計指南

由於英語語法的特點和http請求的方法數量的有限,可能存在一些無法覆蓋到的部分,如下:

下面來談談上述未覆蓋部分及其解決方案。

常規動作有get,post,put,patch和delete,也就是所謂的增刪改查,但是現實中還有很多非前面提到的動作,如取消操作。

針對非常規動作,解決的方案有兩種:

下面我們以取消訂單為例,來看看針對該問題不同方案的實現。

該方案是github在使用中的方案,在開放的api的可以看到。

star a gist

針對例項的實現如下:

post /orders//cancellation
這個google could中could api設計規範中定義的方案,語法為:

custom methods

針對例項的實現如下:

post /orders/:cancel
該情況可按照英語語法使用對應的名詞即可,如下:

// 單複數一致

get /advice

get /advice/

使用可數名詞來代替,如news可以用news-items來代替。

這種情況可以採用資源對應的名詞的單數形式來表示獲取一條資料, 該方案也適用於多對一的情況。

例如:使用者的購物車資料,每個使用者有乙個購物車,可以表示如下:

get /customers//cart

RESTful API 設計指南

網路應用程式,分為前端和後端兩個部分。當前的發展趨勢,就是前端裝置層出不窮 手機 平板 桌面電腦 其他專用裝置 因此,必須有一種統一的機制,方便不同的前端裝置與後端進行通訊。這導致api構架的流行,甚至出現 api first 的設計思想。restful api是目前比較成熟的一套網際網路應用程式的...

RESTful API 設計指南

網路應用程式,分為前端和後端兩個部分。當前的發展趨勢,就是前端裝置層出不窮 手機 平板 桌面電腦 其他專用裝置.因此,必須有一種統一的機制,方便不同的前端裝置與後端進行通訊。這導致api構架的流行,甚至出現 api first 的設計思想。restful api是目前比較成熟的一套網際網路應用程式的...

RESTful API 設計指南

原文 網路應用程式,分為前端和後端兩個部分。當前的發展趨勢,就是前端裝置層出不窮 手機 平板 桌面電腦 其他專用裝置.因此,必須有一種統一的機制,方便不同的前端裝置與後端進行通訊。這導致 api 構架的流行,甚至出現 api first 的設計思想。restful api 是目前比較成熟的一套網際網...