Mock 服務器根據接口文檔自動生成 Mock 數據,實現了接口文檔即API:css
如今已基本完成了,接口方面的實施:前端
- 接口返回數據即顯示:前端僅作渲染邏輯處理;
- 渲染邏輯禁止跨多個接口調用;
- 前端關注交互、渲染邏輯,儘可能避免業務邏輯處理的出現;
- 請求響應傳輸數據格式:JSON,JSON數據儘可能簡單輕量,避免多級JSON的出現;
GET請求、POST請求==必須包含key爲body的入參,全部請求數據包裝爲JSON格式,並存放到入參body中==,示例以下:後端
xxx/login?body={"username":"admin","password":"123456","captcha":"scfd","rememberMe":1}服務器
{
code: 200, data: { message: "success" } }
200: 請求處理成功測試
500: 請求處理失敗spa
401: 請求未認證,跳轉登陸頁code
406: 請求未受權,跳轉未受權提示頁orm
code=200 且 data.message="success": 請求處理成功接口
code=200 且 data.message!="success": 請求處理成功, 普通消息提示:message內容開發
code=500: 請求處理失敗,警告消息提示:message內容
{
code: 200, data: { message: "success", entity: { id: 1, name: "XXX", code: "XXX" } } }
data.entity: 響應返回的實體數據
{
code: 200, data: { message: "success", list: [ { id: 1, name: "XXX", code: "XXX" }, { id: 2, name: "XXX", code: "XXX" } ] } }
data.list: 響應返回的列表數據
{
code: 200, data: { recordCount: 2, message: "success", totalCount: 2, pageNo: 1, pageSize: 10, list: [ { id: 1, name: "XXX", code: "H001" }, { id: 2, name: "XXX", code: "H001" } ], totalPage: 1 } }
data.recordCount: 當前頁記錄數
data.totalCount: 總記錄數
data.pageNo: 當前頁碼
data.pageSize: 每頁大小
data.totalPage: 總頁數
由後端接口統一邏輯斷定是否選中,經過isSelect標示是否選中,示例以下:
{
code: 200, data: { message: "success", list: [{ id: 1, name: "XXX", code: "XXX", isSelect: 1 }, { id: 1, name: "XXX", code: "XXX", isSelect: 0 }] } }
禁止下拉框、複選框、單選框斷定選中邏輯由前端來處理,統一由後端邏輯斷定選中返回給前端展現;
關於Boolean類型,JSON數據傳輸中一概使用1/0來標示,1爲是/True,0爲否/False;
關於日期類型,JSON數據傳輸中一概使用字符串,具體日期格式因業務而定;