先後分離接口規範

1. 開發流程

  1. 後端編寫和維護接口文檔,在 API 變化時更新接口文檔
  2. 後端根據接口文檔進行接口開發
  3. 前端根據接口文檔進行開發 + Mock平臺
  4. 開發完成後聯調和提交測試

Mock 服務器根據接口文檔自動生成 Mock 數據,實現了接口文檔即API:css

 
開發流程

2. 具體實施

如今已基本完成了,接口方面的實施:前端

  1. 接口文檔服務器:可實現接口變動實時同步給前端展現;
  2. Mock接口數據平臺:可實現接口變動實時Mock數據給前端使用;
  3. 接口規範定義:很重要,接口定義的好壞直接影響到前端的工做量和實現邏輯;具體定義規範見下節;
 
接口文檔+Mock平臺服務器

3. 接口規範V1.0.0

3.1 規範原則

  1. 接口返回數據即顯示:前端僅作渲染邏輯處理;
  2. 渲染邏輯禁止跨多個接口調用;
  3. 前端關注交互、渲染邏輯,儘可能避免業務邏輯處理的出現;
  4. 請求響應傳輸數據格式:JSON,JSON數據儘可能簡單輕量,避免多級JSON的出現;

3.2 基本格式

3.2.1 請求基本格式

GET請求、POST請求==必須包含key爲body的入參,全部請求數據包裝爲JSON格式,並存放到入參body中==,示例以下:後端

  1. GET請求:

xxx/login?body={"username":"admin","password":"123456","captcha":"scfd","rememberMe":1}服務器

  1. POST請求:
     
    POST請求

3.2.2 響應基本格式

{
    code: 200, data: { message: "success" } } 
  1. code : 請求處理狀態

200: 請求處理成功測試

500: 請求處理失敗spa

401: 請求未認證,跳轉登陸頁code

406: 請求未受權,跳轉未受權提示頁orm

  1. data.message: 請求處理消息

code=200 且 data.message="success": 請求處理成功接口

code=200 且 data.message!="success": 請求處理成功, 普通消息提示:message內容開發

code=500: 請求處理失敗,警告消息提示:message內容

3.3 響應實體格式

{
    code: 200, data: { message: "success", entity: { id: 1, name: "XXX", code: "XXX" } } } 

data.entity: 響應返回的實體數據

3.4 響應列表格式

{
    code: 200, data: { message: "success", list: [ { id: 1, name: "XXX", code: "XXX" }, { id: 2, name: "XXX", code: "XXX" } ] } } 

data.list: 響應返回的列表數據

3.5 響應分頁格式

{
    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: 總頁數

3.6 特殊內容規範

3.6.1 下拉框、複選框、單選框

由後端接口統一邏輯斷定是否選中,經過isSelect標示是否選中,示例以下:

{
    code: 200, data: { message: "success", list: [{ id: 1, name: "XXX", code: "XXX", isSelect: 1 }, { id: 1, name: "XXX", code: "XXX", isSelect: 0 }] } } 

禁止下拉框、複選框、單選框斷定選中邏輯由前端來處理,統一由後端邏輯斷定選中返回給前端展現;

3.6.2 Boolean類型

關於Boolean類型,JSON數據傳輸中一概使用1/0來標示,1爲是/True,0爲否/False;

3.6.3 日期類型

關於日期類型,JSON數據傳輸中一概使用字符串,具體日期格式因業務而定;

相關文章
相關標籤/搜索