API 設計簡介
設計 API 時一般來說最常的使用場景為下列幾點
API 設計和純後端程式碼還是有一定的不同,這裡做一些簡單的介紹
API 權限控制 (scope / namespace)
不同角色能夠訪問不同的接口,例如給 mobile client 用的可能是 v2,而內部用的可能是 v1
版本 version
同樣一個 API 接口,可能進行升級提供不同的功能
驗證 Authentication
針對不同用戶的角色,訪問接口時需要提供訊息,確保操作權限,例如要新增文章,必須知道當前的 user 是誰,通常會在 header 裡面塞入 api token
數據格式 request/response payload
請求時期望能夠接收什麼格式,在返回時希望伺服器端提供什麼格式的回應
狀態碼 status code
一般我們在接 API 時都會有狀態碼,例如常見的統一返回的標準 200, 404, 500
文檔 documentation
平常在填表單時可以透過眼睛知道需要什麼數據才能送出,但 API 接口沒有可視化的操作,只有提供接口位置,那麼就需要文檔來說明才知道如何使用了
以上的場景基本上 Grape 全部都可以做到
設計規範
HTTP API 設計可以參考相關規範,包含如何返回 http status code