Java接口統(tǒng)一樣式返回模板的實現(xiàn)
前言
一開始,我們在寫項目的時候,前端要什么數據,我們就返回什么數據,每個接口也都寫得不一樣很亂;隨著前后端的分離;對于代碼規(guī)范的要求也越來越嚴謹;接口都是統(tǒng)一樣式的返回模板;
下面,接受一種我之前用過的返回模板;
一、首先來看下我們的Controller接口
/** * 獲取用戶信息 * @param token 微信登入者token * @param id 商品id * @return 商品詳細信息 */ @PostMapping(value = "getUserInfo") @ResponseBody public ResultResponse getUserInfo( @RequestParam(value = "token") String token){ ResultResponse result = new ResultResponse(); //這里獲取用戶信息的類就不貼出來了 User user = userService.getUserByToken(token); result.setData(user ); return result.setStatus(ResponseCode.SUCCESS); }
我們可以看出,接口返回的是ResultResponse類;下面來剖析這個類;
二、統(tǒng)一樣式返回模板ResultResponse剖析
2.1ResultResponse類:
package com.himo.common; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; /** * @Author: laixiansong * @Description: http請求 * @Vesion: 1.0.0 * @Date: 2017/10/17 */ @Data public class ResultResponse<T> { /** 錯誤碼 */ private Integer code; /** 錯誤信息 */ private String msg; @JsonInclude(JsonInclude.Include.NON_NULL) private T data; public void setData(T data) { this.data = data; } public ResultResponse setStatus(ResponseCode responseCode){ this.code = responseCode.getCode(); this.msg = responseCode.getDesc(); return this; } public String getMsg() { return msg; } }
ResultResponse類包含了錯誤碼、錯誤信息、返回的對象json;
2.2枚舉類
從ResultResponse類中我們可以看出,錯誤碼和錯誤信息是一一對應的,我們用一個枚舉類ResponseCode來封裝;
ResponseCode:
package com.himo.common; /** * @Author: laixiansong * @Description: * @Vesion: 1.0.0 * @Date: 2017/10/17 */ public enum ResponseCode { SUCCESS(0,"SUCCESS"), ERROR(1,"ERROR"), REQUEST_PARAMS_ERROR(1003,"請求參數錯誤"), NOT_WX_LOGIN(1004,"非微信端登錄"), WX_LOGIN_PARAMS_ERROR(1005,"微信登錄code錯誤"), NO_LOGIN(1006,"登錄狀態(tài)失效"), ; private final int code; private final String desc; ResponseCode(int code, String desc){ this.code = code; this.desc = desc; } public int getCode() { return code; } public String getDesc() { return desc; } }
我們可以在枚舉類中加入我們想要增加的錯誤信息和錯誤碼;
這樣就是一個完成的Java接口返回的模板了;
總結
技術在不斷更新?lián)Q代,但是它的基礎沒有變,要想更好的維護項目,使得代碼更加的美觀和正規(guī),所有接口統(tǒng)一返回統(tǒng)一類是非常有必要的;
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java LinkedList的實現(xiàn)原理圖文詳解
今天小編就為大家分享一篇關于Java LinkedList的實現(xiàn)原理圖文詳解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01Java實現(xiàn)儲存對象并按對象某屬性排序的幾種方法示例
這篇文章主要介紹了Java實現(xiàn)儲存對象并按對象某屬性排序的幾種方法,結合實例形式詳細分析了Java儲存對象并按對象某屬性排序的具體實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2020-05-05詳解Springboot-MyBatis配置-配置端口號與服務路徑(idea社區(qū)版2023.1.4+apache-mav
這篇文章主要介紹了Springboot-MyBatis配置-配置端口號與服務路徑(idea社區(qū)版2023.1.4+apache-maven-3.9.3-bin),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07