所在位置:
首頁 >
營銷資訊 >
網站運營 > web開發(fā)前后端交互接口設計規(guī)范
web開發(fā)前后端交互接口設計規(guī)范
時間:2023-05-27 09:00:02 | 來源:網站運營
時間:2023-05-27 09:00:02 來源:網站運營
web開發(fā)前后端交互接口設計規(guī)范:在開發(fā)web應用的時候,往往會涉及到一個問題,前端后接口定義的問題。接口定義設計的好壞很大程度上能影響一個項目的進度和可擴展性。但是前輩們在這個問題上留下了非常寶貴的一些常規(guī)的設計思路,值得我們參考。
1、后端設計統(tǒng)一的返回模型
在與前端的交互過程中,我們最好統(tǒng)一一個通用的對象模型,避免一個接口返回一個模型,減少前端同學繁雜的工作量和溝通成本,類似如下:
code為返回的編碼,一般分為成功的編碼和錯誤的編碼,比如code=200為請求成功,非200為失敗,在失敗的情況下message有具體的失敗信息,data是請求的真正的返回結果,比如我們要返回的是一個list的對象,就把data設置為list,這也是把data的類型設置為Object的緣由,因為在java中一切對象繼承自Object。
一般會在開頭部分有個總體說明類似:
public class RestResponse {private int code;private String message;private Object data;}
code為200為請求成功 非200即為異常,異常信息在message中,data為請求返回的數(shù)據Content-Type: application/json
然后是每個接口的詳細信息,類似:
url: /punishInfo/updatePunishInfoHTTP請求方式:POST
請求參數(shù):
public class UpdatePunishInfoRequest {private long id; //懲罰idprivate boolean active; //是否有效}
返回對象:RestResponse
最后還有個附錄部分介紹詳細的錯誤碼等信息,類似:
2、后端處理所有的異常信息,避免把異常拋到前臺
你是不是曾經也遇到過訪問一個web網站的時候,直接報什么exception,要是這exception暴露出你生產機器的數(shù)據庫連接信息的話,你可能會被老板炒魷魚的。一般的做法是寫一個@ControllerAdvice標記的controller,結合@ExceptionHandler統(tǒng)一處理運行時異常,然后返回給前端一個異常錯誤碼和錯誤的詳細信息。
3、善用一些開源的接口開源框架
說到寫接口文檔,有的時間我們可能新增或者修改文檔,在修改代碼的同時再去修改文檔這是大多數(shù)程序員不想干的事情,Swagger框架幫我們解決了這個問題,具體怎么使用,如果大家有興趣,下次可以再介紹。善用工具,事半功倍。