restful api響應設計個人心得

2021-10-03 02:34:46 字數 1906 閱讀 2650

以下內容以json api規範為基礎

返回資料

將實際資料放在data中,例如

普通單數data

get /epics/1
響應

}

普通複數data

get /epics
響應

, ]

}

如何表達關係

get /epics/1
返回嵌入式規範的資料,這裡選用嵌入式的原因: 響應

,

"subtask": [, ]

}]}

分頁

此處涉及兩種分頁形式

1、基於偏移量的

# 返回30至45的epics

/epics?offset=30&limit=15

# 如果未填引數,則可使用預設值(offset=0, limit=100 )

/epics

響應

,

"data": [

//...

],"links":

}

缺點

2、基於光標量的-推薦

第一步

/epics?pagesize=100                

# 客戶端接受最靠前的100條epic資訊

響應(假設sortid欄位作為排序的索引)

,

"data": [

// ...

// last element:

],"links":

}

返回錯誤資訊(根據rfc7807:api錯誤處理最佳實踐)

錯誤響應將具有以下內容(不代表具體鍵(json key)的值):

type(string):描述錯誤條件的文件的url(可選,如果沒有提供,則假定「about:blank」;應可被解析為可讀文件)。

title(string):般錯誤型別的簡短易讀的標題;對於給定的型別,標題不應改變。

status(string或者numbr):http狀態碼;這是為了使所有資訊都在乙個地方,不在body裡。

detail(string):細節,可以根據實際情況定製,必須易讀

其他自定義的內容(可選) 例如

get /epics?state=unknow
響應

// 400 bad request

, ,,]

}}

返回httpstatus

使用所有過多的http狀態碼可能會讓api使用者感到困惑。所以應該保持使用精簡的http狀態碼集

常見的狀態碼解釋如下

2xx 一切正常

201 created

202 accepted

204 no content

4xx 客戶端錯誤

401 unauthorized

403 forbidden

404 not found

405 method not allowed

410 gone

5xx 伺服器錯誤

響應式設計與自適應設計

響應式 設計與自適應 設計 相信從事前端頁面設計的人都知道,頁面呈現的效果及使用者體驗是非常重要的。當今社會移動裝置的使用已超過了pc端,面對不同解析度的裝置,怎樣做到頁面體驗的效果一樣呢?這就成了最頭疼的事情。下面我們來看看響應式 設計與自適應 設計兩者 用法 響應式web設計 responsiv...

響應式與自適應設計

兩者的區別?首先,響應式和自適應最為關鍵的區別是什麼呢?簡而言之,響應式 百分比 就相當於液體,它可以自動適應不同尺寸的螢幕,無論你的裝置尺寸多麼奇葩。響應式使用css media queries的方法,根據目標裝置自動改變風格如顯示型別,寬度 高度等,這能很好解決不同螢幕尺寸的顯示問題。而自適應設...

響應設計的技巧,秘訣和最佳實踐

簡而言之,響應設計就是使用非固定的網格 非固定的布局和 多 查詢使得現在的 以及將來的 web能夠適應不同尺寸的螢幕。無論你的使用者使用的是乙個 乙個ipad或是巨大的台式顯示器,你的 都能夠適應。響應設計將成為乙個非常有吸引力的工具,正如luke wroblewski所說的,設計需要遵循移動優先原...