日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot返回統(tǒng)一的JSON標(biāo)準(zhǔn)格式實(shí)現(xiàn)步驟

瀏覽:160日期:2023-12-02 08:34:09

期望返回的JSON格式如下

{ 'code': 200, 'msg': '操作成功', 'data': 'hello jenkins'}

實(shí)現(xiàn)步驟如下

1.自定義狀態(tài)碼枚舉類。

@AllArgsConstructor@Getterpublic enum StatusCodeEnum { SC200(200, '操作成功'), SC999(999, '操作失敗'), SC401(401, '匿名用戶訪問權(quán)限資源時(shí)的異常'), SC403(403, '無訪問權(quán)限,請聯(lián)系管理員授予權(quán)限'), SC404(404, '請求的資源不存在'), SC500(500, '系統(tǒng)異常,請稍后重試'), // ...略 private final Integer code; private final String msg;}

2.封裝返回結(jié)果

@Datapublic class ApiResult<T> implements Serializable { private Integer code; private String msg; private T data; public static <T> ApiResult<T> success(T data) {return ApiResult.success(StatusCodeEnum.SC200.getMsg(), data); } public static <T> ApiResult<T> success(String msg, T data) {ApiResult<T> apiResult = new ApiResult<>();apiResult.setCode(StatusCodeEnum.SC200.getCode());apiResult.setMsg(msg);apiResult.setData(data);return apiResult; } public static <T> ApiResult<T> fail(Integer code, String msg) {ApiResult<T> apiResult = new ApiResult<>();apiResult.setCode(code);apiResult.setMsg(msg);return apiResult; }}

3.全局異常捕獲處理,使用@RestControllerAdvice注解。

@Slf4j@RestControllerAdvicepublic class GlobalExceptionHandler { /** * 捕獲其他異常 */ @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) @ExceptionHandler(Exception.class) public ApiResult<String> handle(Exception e) {log.error('全局異常信息:{}', e.getMessage());return ApiResult.fail(StatusCodeEnum.SC500.getCode(), StatusCodeEnum.SC500.getMsg()); }}注解 功能 @RestControllerAdvice RestController的增強(qiáng)類,可用于實(shí)現(xiàn)全局異常處理器 @ExceptionHandler 統(tǒng)一處理某一類異常,從而減少代碼重復(fù)率和復(fù)雜度,比如要獲取自定義異常可以@ExceptionHandler(BusinessException.class) @ResponseStatus 指定客戶端收到的http狀態(tài)碼

注:請求進(jìn)來 會按照 filter -> interceptor -> controllerAdvice -> aspect -> controller的順序調(diào)用,404異常(NoHandlerFoundException)是無法通過這種方式捕獲的,因?yàn)樵贔ilter層發(fā)生的異常都會到Spring默認(rèn)的異常處理。如果你在配置文件配置了server.error.path的話,就會使用你配置的異常處理地址,如果沒有就會使用你配置的error.path路徑地址,如果還是沒有,默認(rèn)使用/error來作為發(fā)生異常的處理地址。如果想要替換默認(rèn)的非Controller異常處理直接實(shí)現(xiàn)Spring提供的ErrorController接口就行了。

4.攔截Controller方法的返回值,統(tǒng)一處理返回值/響應(yīng)體,因?yàn)槲覀兒竺婷繉懸粋€(gè)接口都需要調(diào)用ApiResult.success()這行代碼對結(jié)果進(jìn)行包裝,重復(fù)勞動,浪費(fèi)體力,我們只需要實(shí)現(xiàn)SpringBoot提供的ResponseBodyAdvice接口即可。

@RestControllerAdvicepublic class ApiResultWrapper implements ResponseBodyAdvice<Object> { /** * 是否支持advice功能 */ @Override public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) {return true; } /** * 對返回的數(shù)據(jù)進(jìn)行處理 */ @Override public Object beforeBodyWrite(Object o, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {if (o instanceof String) { return JSON.toJSONString(ApiResult.success(o));}// 這個(gè)判斷的作用:防止全局異常處理后返回的結(jié)果(類型為ApiResult)再次被包裝if (o instanceof ApiResult) { return o;}return ApiResult.success(o); }}

5.創(chuàng)建Controller,定義兩個(gè)方法,讓第二個(gè)方法拋異常

@RestControllerpublic class TestController { @GetMapping('/test1') public String test1() {return '當(dāng)前時(shí)間:' + LocalDateTime.now().format(DateTimeFormatter.ofPattern('yyyy-MM-dd HH:mm:ss')); } @GetMapping('/test2') public Integer test2() {System.out.println(1 / 0);return Integer.MAX_VALUE; }}

6.分別請求http://localhost:8080/test1、http://localhost:8080/test2,結(jié)果如下

SpringBoot返回統(tǒng)一的JSON標(biāo)準(zhǔn)格式實(shí)現(xiàn)步驟SpringBoot返回統(tǒng)一的JSON標(biāo)準(zhǔn)格式實(shí)現(xiàn)步驟

在全局異常處理類中寫了一行代碼

log.error('全局異常信息:{}', e.getMessage());

所以調(diào)用test2方法時(shí)控制臺打印異常信息如下

SpringBoot返回統(tǒng)一的JSON標(biāo)準(zhǔn)格式實(shí)現(xiàn)步驟

到此這篇關(guān)于SpringBoot返回統(tǒng)一的JSON標(biāo)準(zhǔn)格式的文章就介紹到這了,更多相關(guān)SpringBoot返回JSON格式內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产91精品对白在线播放| 丝袜美腿亚洲一区二区图片| 在线一区免费观看| 91超碰国产精品| 激情久久中文字幕| 国户精品久久久久久久久久久不卡| 福利片在线一区二区| 久久精品一区| 国产传媒在线| 精品欧美日韩精品| 亚洲黄色网址| 午夜av一区| 亚洲欧美日本国产| 国产精品欧美大片| a国产在线视频| 亚洲欧美久久久| 日本亚州欧洲精品不卡| 国产日韩一区二区三区在线播放| 国产欧美一区二区三区国产幕精品 | 免播放器亚洲一区| 亚洲一区二区三区中文字幕在线观看| 日韩毛片一区| 成人午夜在线| 国产视频欧美| 久久精品国产99国产精品| 亚洲综合在线电影| 亚洲一二av| 日本午夜大片a在线观看| 丝袜亚洲精品中文字幕一区| 老司机精品视频网| 日韩亚洲在线| 国产精品99久久免费观看| 久久久久久美女精品| 欧美伊人影院| 亚洲精品一二三区区别| 老鸭窝毛片一区二区三区| 欧美日韩中文| 婷婷综合网站| 91麻豆国产自产在线观看亚洲| 亚洲精选成人| 激情久久久久久| 精品国产亚洲一区二区三区在线| 在线国产一区二区| 精品一区二区三区视频在线播放| 亚洲69av| 国产视频一区三区| 亚洲黄色网址| 久久精品国产99| 日韩三区四区| 免费看黄色91| 中文在线资源| 精品国产亚洲一区二区在线观看| 亚洲精品美女91| 日韩亚洲国产欧美| 亚洲调教视频在线观看| 成人在线视频中文字幕| 欧美激情精品| 欧美亚洲免费| 欧美日韩在线精品一区二区三区激情综合 | 久色成人在线| 在线一区视频| 日韩午夜av在线| 亚洲五月婷婷| 免费视频国产一区| 亚洲国产日韩欧美在线| 久久精品播放| 欧洲激情综合| 日韩精品一级中文字幕精品视频免费观看 | 免费一二一二在线视频| а√天堂8资源在线| 国产在线观看www| 久久人人97超碰国产公开结果| 欧洲精品一区二区三区| 激情欧美一区| 亚洲激精日韩激精欧美精品| 精品在线播放| 午夜精品影视国产一区在线麻豆| 日韩激情精品| 激情不卡一区二区三区视频在线| 国产999精品在线观看| a国产在线视频| 欧美日韩在线二区| 亚洲精品看片| 成人在线视频免费| 免费黄网站欧美| 久久99性xxx老妇胖精品| 日韩成人综合| 亚洲精品乱码久久久久久蜜桃麻豆| 国产欧美日韩综合一区在线播放| 精品99在线| 性欧美精品高清| 中文字幕日本一区| 成人在线视频免费看| 亚洲天堂成人| 国产精品亚洲欧美| 欧美天堂视频| 日韩精品视频网| 欧美成人精品三级网站| 中文字幕一区二区三区四区久久| 精品国产欧美日韩| 日韩精品一二区| 色一区二区三区| 日韩1区2区日韩1区2区| 亚洲高清av| 精品欠久久久中文字幕加勒比| 久久亚洲欧洲| 欧美日韩在线二区| 水蜜桃久久夜色精品一区| 蜜臀av国产精品久久久久| 久久天堂av| 国产精品一区高清| 日韩专区在线视频| 亚洲一级二级| 欧美精选视频一区二区| 国产成人精品一区二区三区在线| 日韩va亚洲va欧美va久久| 婷婷综合在线| 香蕉久久精品| 久久香蕉国产| 亚洲va在线| 久久视频一区| 欧美jjzz| 久久国产高清| 亚洲精品看片| 国产精品一二| 国产精品久一| 日本视频在线一区| 91亚洲无吗| 国产精品一区2区3区| 国产精品久久免费视频| 免费一级欧美在线观看视频| 欧美一区二区三区免费看| 日韩影院免费视频| 日韩精品一区二区三区中文| 亚洲精品乱码| 麻豆免费精品视频| 国产成人精品一区二区三区免费 | 欧美日韩精品免费观看视完整 | 国产亚洲欧洲| 亚洲欧美久久| 天堂精品久久久久| 你懂的国产精品| 日韩中文影院| 蜜桃视频一区二区三区在线观看| 丝袜美腿高跟呻吟高潮一区| 日本免费新一区视频| 久久av导航| 日韩欧美国产精品综合嫩v| 欧美va天堂在线| 日韩不卡在线观看日韩不卡视频| 免费一级欧美在线观看视频| 日韩在线高清| 蜜臀精品一区二区三区在线观看| 97se亚洲| 99久久精品网| 91福利精品在线观看| 成人国产综合| | 国产精品网站在线看| 在线观看精品| 欧美日韩夜夜| 午夜av成人| 欧美日韩91| 亚洲欧洲一区| 国产成人精品亚洲线观看| 中文字幕亚洲影视| 久久久久欧美精品| 久久的色偷偷| 一区二区三区午夜视频| 四季av一区二区凹凸精品| 丝袜脚交一区二区| 日韩黄色大片| 国产精品毛片视频| 亚洲免费毛片| 伊人久久亚洲美女图片| 日韩深夜视频| 69堂免费精品视频在线播放| av亚洲一区二区三区| 欧美aa在线视频| 91精品国产经典在线观看| 视频一区在线播放| 欧美另类专区| 日韩一区二区三区免费| 激情综合五月| 国产高清视频一区二区| 欧美在线首页| 欧美精品国产一区| 香蕉久久一区| 日本少妇一区二区| 欧美一区在线观看视频| 日韩精品久久理论片| 蜜臀久久99精品久久一区二区 | 日韩精品久久久久久久软件91| 免费成人在线影院| 免费黄网站欧美| 日韩欧乱色一区二区三区在线| 亚洲美女91| 国产免费久久| 精品美女在线视频| 久久久久国产一区二区|