介面請求引數和響應資料均使用utf-8編碼。
請求頭指定內容及編碼型別:
content-type: text/html; charset=utf-8
或
使用更安全的https協議進行資料傳輸。
介面返回資料使用json格式
1 http狀態碼
例如:http/1.1 400 bad request
2 業務狀態碼
伺服器通過業務狀態碼向使用者返回請求狀態和提示資訊。
業務狀態碼需進行統一管理,同一專案必需保證業務狀態碼具有唯一性。
例如:
請求成功時直接返回業務資料,失敗時返回錯誤碼和提示資訊。
下面是例子:
#獲取指定使用者的資訊
get /v1/users/45701
成功返回:
失敗返回:
使用restful架構風格。
1 網域名稱
應該盡量將api部署在專用網域名稱之下。
2 版本
應該將api的版本號放入url。
v1/
3 路徑(endpoint)
路徑又稱"終點"(endpoint),表示api的具體**。
在restful架構中,每個**代表一種資源(resource),所以**中不能有動詞,只能有名詞,而且所用的名詞往往與資料庫的**名對應。一般來說,資料庫中的表都是同種記錄的"集合"(collection),所以api中的名詞也應該使用複數。
v1/users
4 http動詞
對於資源的具體操作型別,由http動詞表示。
常用的http動詞有下面四個(括號裡是對應的sql命令):
l
get
(
select
):從伺服器取出資源(一項或多項)。
l
post
(
insert
):在伺服器新建乙個資源。
l
put
(
update
):在伺服器更新資源。
l
delete
(
delete
):從伺服器刪除資源。
下面是一些例子。
get /v1/rooms
:列出房間列表
post /v1/rooms
:新建乙個房間
get /v1/rooms/
:獲取某個指定房間的資訊
put /v1/rooms/
:更新某個指定房間的資訊
delete /v1/rooms/
:刪除某個房間
5 返回結果
針對不同操作,伺服器向使用者返回的結果應該符合以下規範。
get /v1/rooms
:列出房間列表
(陣列)
get /v1/rooms/
:獲取某個指定房間的資訊
(返回單個房間物件)
post /v1/rooms
:新建乙個房間
(返回新生成的房間物件)
put /v1/rooms/
:更新某個指定房間的資訊
(返回完整的資源物件)
delete /v1/rooms/
:刪除某個房間
(返回乙個空文件)
介面安全必須做到以下2點:
IOS ios介面設計規範
在iphone 6還沒出的時候,都是用640 1136 px來做設計稿的,自從6的發布,所有的設計稿尺寸以750 1334 px來做設計稿尺寸 以750x1334px作為設計稿標準尺寸的原由 從中間尺寸向上和向下適配的時候介面調整的幅度最小,最方便適配。大螢幕時代依然以小尺寸作為設計尺寸,會限制設計...
RESTFUL介面設計規範
rest 是representational state transfer的縮寫,意思是表述性狀態轉移,我個人理解就是資源資料的變化。api與使用者的通訊協議,總是使用https協議。協議網域名稱 應該盡量將api部署在專用網域名稱之下。如果確定api很簡單,不會有進一步擴充套件,可以考慮放在主網域...
微服務RESTful 介面設計規範
網路應用程式,分為前端和後端兩個部分。當前的發展趨勢,就是前端裝置層出不窮 手機 平板 桌面電腦 其他專用裝置.因此,必須有一種統一的機制,方便不同的前端裝置與後端進行通訊。這導致api構架的流行,甚至出現 apifirst 的設計思想。restful api是目前比較成熟的一套網際網路應用程式的a...