SpringBoot 統(tǒng)一公共返回類的實現(xiàn)
本文記錄下如何在工程中,配置后臺的統(tǒng)一公共返回類,這樣做目的是為了統(tǒng)一返回信息,方便項目進行管理。使用技術(shù):SpringBoot+Swagger+Lombok
項目結(jié)構(gòu)
具體過程如下,在response文件夾下分別建立 CustomizeResultCode 接口,枚舉類ResultCode 實現(xiàn)CustomizeResultCode 接口和Result類:
1 配置自定義返回類接口,該接口中包含 錯誤狀態(tài)碼和錯誤信息
public interface CustomizeResultCode { /* 獲取錯誤碼 @return 錯誤狀態(tài)碼 */ Integer getCode(); /* 獲取錯誤信息 @return 錯誤信息 */ String getMessage(); }
2 配置返回實現(xiàn)類,注意這里是個枚舉類,里面的編碼僅供參考,可以自定義
/** * @Description: 返回碼定義 * 規(guī)定: * #200表示成功 * #400表示錯誤 * #1001~1999 區(qū)間表示參數(shù)錯誤 * #2001~2999 區(qū)間表示用戶錯誤 * #3001~3999 區(qū)間表示接口異常 * #后面對什么的操作自己在這里注明就行了 */ public enum ResultCode implements CustomizeResultCode{ /* 成功 */ SUCCESS(200, "成功"), /*錯誤*/ ERROR(400,"錯誤失敗"), /* 默認(rèn)失敗 */ COMMON_FAIL(999, "失敗"), /* 參數(shù)錯誤:1000~1999 */ PARAM_NOT_VALID(1001, "參數(shù)無效"), PARAM_IS_BLANK(1002, "參數(shù)為空"), /* 用戶錯誤 */ USER_NOT_LOGIN(2001, "用戶未登錄"), USER_ACCOUNT_EXPIRED(2002, "賬號已過期"), USER_CREDENTIALS_ERROR(2003, "密碼錯誤"), /*運行時異常*/ ARITHMETIC_EXCEPTION(9001,"算數(shù)異常"); ; private Integer code; private String message; ResultCode(Integer code,String message){ this.code=code; this.message=message; } @Override public Integer getCode() { return code; } @Override public String getMessage() { return message; } }
3 定義具體的返回類方法
@Data public class Result { @ApiModelProperty(value = "是否成功") private Boolean success; @ApiModelProperty (value= "返回碼") private Integer code; @ApiModelProperty(value = "返回消息") private String message; @ApiModelProperty(value = "返回數(shù)據(jù)") private Map<String,Object> data=new HashMap<>(); /* 構(gòu)造方法私有化,里面的方法都為靜態(tài)方法 達到保護屬性的作用 */ private Result(){ } /* 使用鏈?zhǔn)骄幊? 該部分在項目組中一般是項目組長寫好的 */ public static Result ok(){ Result result=new Result(); result.setSuccess(true); result.setCode(ResultCode.SUCCESS.getCode()); result.setMessage(ResultCode.SUCCESS.getMessage()); return result; } public static Result error(){ Result result=new Result(); result.setSuccess(false); result.setCode(ResultCode.ERROR.getCode()); result.setMessage(ResultCode.ERROR.getMessage()); return result; } /* 自定義返回成功與否 */ public Result success(Boolean success){ this.setSuccess(success); return this; } public Result message(String message){ this.setMessage(message); return this; } public Result code(Integer code){ this.setCode(code); return this; } public Result data(String key,Object value){ this.data.put(key,value); return this; } public Result data(Map<String,Object>map){ this.setData(map); return this; } }
統(tǒng)一返回類使用
Controller在下面的文件中
@RestController @EnableAutoConfiguration @RequestMapping("/system/info") @Api(value = "系統(tǒng)模塊",tags="系統(tǒng)接口") public class DController { @Autowired private DService dService; @GetMapping @ApiOperation(value = "信息列表",notes = "查詢所有信息") public Result findDs(){ List<Doctordict>list=dService.list(); //鏈?zhǔn)骄幊? return Result.ok().data("users",list); } }
測試結(jié)果成功
到此這篇關(guān)于SpringBoot 統(tǒng)一公共返回類的實現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot 統(tǒng)一公共返回類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
面向?qū)ο蠛兔嫦蜻^程的區(qū)別(動力節(jié)點java學(xué)院整理)
很多朋友不清楚面向?qū)ο蠛兔嫦蜻^程有什么區(qū)別,接下來小編給大家整理了關(guān)于面向?qū)ο蠛兔嫦蜻^程的區(qū)別講解,感興趣的朋友可以參考下2017-04-04總結(jié)Java常用的時間相關(guān)轉(zhuǎn)化
今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著Java常用的時間相關(guān)轉(zhuǎn)化展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06設(shè)置Myeclipse中的代碼格式化、注釋模板及保存時自動格式化
這篇文章主要介紹了設(shè)置Myeclipse中的代碼格式化、注釋模板及保存時自動格式化方法,需要的朋友可以參考下2014-10-10mybatis的好幫手之MybatisCodeHelperPro詳解
這篇文章主要介紹了mybatis的好幫手之MybatisCodeHelperPro詳解,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Java實戰(zhàn)之網(wǎng)上書店管理系統(tǒng)的實現(xiàn)
本文將利用Java語言實現(xiàn)網(wǎng)上書店管理系統(tǒng)。其功能一般包括:圖書信息管理、用戶信息管理、圖書購買、圖書訂單查看、圖書添加、圖書維護等等,感興趣的可以了解一下2022-06-06