精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

只需一步,在Spring Boot中統一Restful API返回值格式與統一處理異常

開發 后端
在前后端分離大行其道的今天,有一個統一的返回值格式不僅能使我們的接口看起來更漂亮,而且還可以使前端可以統一處理很多東西,避免很多問題的產生。

 

統一返回值

在前后端分離大行其道的今天,有一個統一的返回值格式不僅能使我們的接口看起來更漂亮,而且還可以使前端可以統一處理很多東西,避免很多問題的產生。

比較通用的返回值格式如下: 

  1. public class Result<T> {  
  2.     // 接口調用成功或者失敗  
  3.     private Integer code = 0 
  4.     // 失敗的具體code  
  5.     private String errorCode = "" 
  6.     // 需要傳遞的信息,例如錯誤信息  
  7.     private String msg;  
  8.     // 需要傳遞的數據  
  9.     private T data;  
  10.     ...  

最原始的接口如下:   

  1. @GetMapping("/test")  
  2.     public User test() {  
  3.         return new User();  
  4.     } 

當我們需要統一返回值時,可能會使用這樣一個辦法: 

  1. @GetMapping("/test")  
  2.   public Result test() {  
  3.       return Result.success(new User());  
  4.   } 

這個方法確實達到了統一接口返回值的目的,但是卻有幾個新問題誕生了:

  •  接口返回值不明顯,不能一眼看出來該接口的返回值。
  •  每一個接口都需要增加額外的代碼量。

所幸Spring Boot已經為我們提供了更好的解決辦法,只需要在項目中加上以下代碼,就可以無感知的為我們統一全局返回值。 

  1. /**  
  2.  * 全局返回值統一封裝  
  3.  */  
  4. @EnableWebMvc  
  5. @Configuration  
  6. public class GlobalReturnConfig {  
  7.     @RestControllerAdvice  
  8.     static class ResultResponseAdvice implements ResponseBodyAdvice<Object> {  
  9.         @Override  
  10.         public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) {  
  11.             return true;  
  12.         }  
  13.         @Override  
  14.         public Object beforeBodyWrite(Object body, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) { 
  15.              if (body instanceof Result) {  
  16.                 return body;  
  17.             }  
  18.             return new Result(body);  
  19.         }  
  20.     }  

而我們的接口只需要寫成最原始的樣子就行了。 

  1. @GetMapping("/test")  
  2.  public User test() {  
  3.      return new User();  
  4.  } 

統一處理異常

將返回值統一封裝時我們沒有考慮當接口拋出異常的情況。當接口拋出異常時讓用戶直接看到服務端的異常肯定是不夠友好的,而我們也不可能每一個接口都去try/catch進行處理,此時只需要使用@ExceptionHandler注解即可無感知的全局統一處理異常。 

  1. @RestControllerAdvice  
  2. public class GlobalExceptionHandler {  
  3.     private static final Logger LOG = LoggerFactory.getLogger(GlobalExceptionHandler.class);  
  4.     /**  
  5.      * 全局異常處理  
  6.      */  
  7.     @ExceptionHandler  
  8.     public JsonData handleException(HttpServletRequest request, HttpServletResponse response, final Exception e) {  
  9.         LOG.error(e.getMessage(), e);  
  10.         if (e instanceof AlertException) {//可以在前端Alert的異常  
  11.             if (((AlertException) e).getRetCode() != null) {//預定義異常  
  12.                 return new Result(((AlertException) e).getRetCode());  
  13.             } else {  
  14.                 return new Result(1, e.getMessage() != null ? e.getMessage() : "");  
  15.             }  
  16.         } else {//其它異常  
  17.             if (Util.isProduct()) {//如果是正式環境,統一提示  
  18.                 return new Result(RetCode.ERROR);  
  19.             } else {//測試環境,alert異常信息 
  20.                  return new Result(1, StringUtils.isNotBlank(e.getMessage()) ? e.getMessage() : e.toString());  
  21.             }  
  22.         }  
  23.     }  

其中的AlertException為我們自定義的異常,因此當業務中需要拋出錯誤時,可以手動拋出AlertException。

以上就是統一處理返回值和統一處理異常的兩步。

 

 

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2025-02-13 00:34:22

Spring對象系統

2024-08-09 08:25:32

Spring流程注解

2023-12-05 14:10:00

接口可讀性

2020-05-26 13:48:05

后端框架異常

2023-11-28 14:32:04

2024-10-28 08:32:22

統一接口響應SpringBoot響應框架

2024-09-25 08:10:00

Spring后端

2017-05-18 14:14:25

過濾器Spring ClouZuul

2021-04-30 07:34:01

Spring BootController項目

2022-08-31 08:19:04

接口returnCode代碼

2024-08-01 09:10:03

2017-05-19 15:13:05

過濾器Spring ClouZuul

2017-07-31 15:47:50

Zuul統一處理

2023-11-30 07:00:56

SpringBoot處理器

2022-05-30 08:03:06

后端參數校驗異常處理

2009-06-22 10:41:34

Spring.AOP

2022-05-07 10:09:01

開發Java日志

2019-09-29 10:23:09

APIJava編程語言

2025-04-09 08:00:00

FastAPI統一響應全局異常處理

2010-06-13 10:19:16

統一計算私有云
點贊
收藏

51CTO技術棧公眾號

日韩成人中文字幕在线观看| www.欧美色图| 精品伊人久久97| 国产二区视频在线播放| 午夜视频1000| 久久亚洲图片| 俺也去精品视频在线观看| 精品国产鲁一鲁一区二区三区| 韩国av网站在线| 国产aⅴ精品一区二区三区色成熟| 久久久亚洲国产| 亚洲天堂视频一区| www.欧美视频| 婷婷久久综合九色综合绿巨人| 蜜桃日韩视频| 国产男男gay体育生白袜| 悠悠资源网久久精品| 亚洲欧洲午夜一线一品| 天堂在线一区二区三区| 2021天堂中文幕一二区在线观| 久久久久国产一区二区三区四区| 国产欧美一区二区三区四区| 香蕉视频一区二区| 日韩综合精品| 亚洲国产精品一区二区三区 | 欧美激情 亚洲a∨综合| 亚洲国产成人av在线| 美女黄色片视频| 在线三级中文| 中文字幕精品一区二区精品绿巨人| 亚洲va码欧洲m码| 午夜影院免费在线观看| 亚洲 自拍 另类 欧美 丝袜| 欧美精品18videosex性欧美| 精品中文av资源站在线观看| 婷婷五月综合激情| 北条麻妃在线视频观看| 大伊人狠狠躁夜夜躁av一区| 久久蜜臀精品av| 中文字幕久热精品在线视频 | 色开心亚洲综合| 99在线精品观看| 国产精品视频资源| 日本一本高清视频| 日韩一区二区在线| 日韩精品视频免费在线观看| 在线观看免费不卡av| 麻豆mv在线看| 一区二区国产视频| 亚洲一区二区三区精品动漫| 男男电影完整版在线观看| 亚洲综合婷婷| 精品三级久久久久久久电影聊斋| 超薄肉色丝袜一二三| 91九色在线观看| 精品欧美国产一区二区三区| 三区四区不卡| 国产精品视频二区三区| 4438x全国最大成人| 精品视频站长推荐| 日韩精品影院| 日韩欧美黄色动漫| 97免费视频观看| 亚洲综合自拍一区| 福利所第一导航| 国产精品久久久久久| 亚洲国产成人精品久久| 丰满人妻一区二区三区大胸| 不卡精品视频| 欧美一区日本一区韩国一区| 成人在线观看a| a一区二区三区| 欧美色视频日本高清在线观看| 人妻夜夜添夜夜无码av| av在线资源| 亚洲va欧美va天堂v国产综合| 污污污污污污www网站免费| 2020国产在线视频| 一区二区三区中文字幕精品精品| 日韩精品福利片午夜免费观看| 理论片午午伦夜理片在线播放| 欧美激情综合在线| 亚洲欧美日韩在线综合 | 国产欧美丝袜| 人成网站在线观看| 91尤物视频在线观看| 久久久久一区二区| 欧美高清成人| 中文字幕一区视频| 欧美日韩激情四射| av蜜臀在线| 色婷婷精品久久二区二区蜜臀av| 亚洲一区在线不卡| 亚洲人成777| 亚洲成人网av| 少妇人妻好深好紧精品无码| 日韩三级在线| 中文亚洲视频在线| 校园春色 亚洲| 欧美黄色一区| 欧美专区在线视频| 亚洲永久精品视频| 成人综合婷婷国产精品久久免费| 国产精品我不卡| 国产精品一区在线看| 中文字幕在线一区| 最新久久zyz资源站| 57pao精品| 中文字幕一区二区免费| 国产麻豆一精品一av一免费| 国产一区二区高清不卡| 加勒比一区二区三区在线| 日韩毛片一二三区| 日韩精品综合在线| 欧美日韩五码| 欧美美女bb生活片| 日本护士做爰视频| 成人羞羞视频播放网站| 欧美大片免费看| 九九九在线观看| 国产最新精品精品你懂的| 国产精品成人观看视频免费| 国产三级视频在线| 亚洲大片免费看| 中文字幕中文在线| 任你躁在线精品免费| www国产亚洲精品久久网站| 国产一级中文字幕| 久久国产综合精品| 久久精品女人的天堂av| 成人短视频在线观看| 色综合久久久久久久| 国产精品中文久久久久久| 一区三区在线欧| 久久国内精品一国内精品| 日韩在线播放中文字幕| 国产91精品入口| 亚洲午夜高清视频| 亚洲小少妇裸体bbw| 日韩一区二区三| 国产成人无码精品久久二区三| 久久影院一区| 日韩av免费在线观看| 狠狠人妻久久久久久综合麻豆| 中文字幕视频一区二区三区久| 国产精品家庭影院| 人人妻人人澡人人爽欧美一区| 在线观看欧美日韩电影| 91精品福利在线一区二区三区 | 国产精品视频看| 国产男女激情视频| 加勒比久久综合| 国产精品第2页| 超碰国产在线| 欧美日韩一级二级三级| 毛片久久久久久| 久久福利视频一区二区| 91香蕉视频网址| 欧美电影院免费观看| 欧美精品做受xxx性少妇| www.日韩在线观看| 亚洲在线视频网站| 成人午夜精品无码区| 亚洲经典视频在线观看| 久久精品日韩精品| 丝袜美腿诱惑一区二区三区| 在线看欧美日韩| 国产又粗又猛又黄又爽无遮挡| 亚洲乱码中文字幕| 国产免费一区二区三区最新6| 国产日韩欧美三级| 欧美一区二区三区精美影视| av成人免费| 欧美成人精品h版在线观看| 亚洲精品久久久久avwww潮水 | 国产情侣免费视频| 136国产福利精品导航| 肉丝美足丝袜一区二区三区四| 国产视频亚洲| 亚洲一区二区三区乱码 | 欧洲高清一区二区| 欧美一区=区三区| 欧美黑人巨大xxx极品| 欧洲成人av| 555www色欧美视频| 午夜精品一区二区三区在线播放| 伊人国产在线观看| 久久精品视频免费| 999在线观看| 精品999网站| 午夜精品区一区二区三| 国产精品1区| 日本午夜精品理论片a级appf发布| 91免费在线| 亚洲国产欧美一区| 一级黄色大片免费观看| 亚洲自拍偷拍图区| 91禁男男在线观看| 成人av电影在线| 中文字幕视频三区| 免费日韩av片| 波多野结衣av一区二区全免费观看| 神马午夜久久| av一区二区三区四区电影| 经典三级一区二区| 欧美精品九九久久| 麻豆网在线观看| 日韩av在线网址| 国产夫绿帽单男3p精品视频| 日韩欧美aⅴ综合网站发布| 91日韩中文字幕| 国产精品视频一二三| 欧美在线一级片| 国产成人精品在线看| www午夜视频| 老妇喷水一区二区三区| 男的插女的下面视频| 亚洲国产一区二区在线观看 | 成人影院天天5g天天爽无毒影院 | 神马久久av| 国产精品久久国产三级国电话系列| 91成人在线| 日本久久久久久| 888av在线视频| 欧美日韩爱爱视频| 免费高清完整在线观看| 亚洲最新av网址| 青青草超碰在线| 日韩精品视频观看| 日日躁夜夜躁白天躁晚上躁91| 日韩视频在线永久播放| 国产精品乱码一区二区| 欧美日韩日日骚| 日韩国产亚洲欧美| 一本色道久久综合狠狠躁的推荐| 六月丁香在线视频| 亚洲成a人片综合在线| 欧美xxxx黑人xyx性爽| 综合久久给合久久狠狠狠97色| 91丨九色丨国产在线| 四虎在线视频| 亚洲精品福利资源站| 蜜桃视频污在线观看| 精品免费99久久| 免费国产精品视频| 精品国内二区三区| 高清毛片aaaaaaaaa片| 精品久久久久久久人人人人传媒| 亚洲精品久久久蜜桃动漫 | 欧美一级一区二区三区| 精品久久久久av影院| 亚洲精品喷潮一区二区三区| 欧美大片在线观看| 少妇av在线播放| 日韩精品日韩在线观看| 国产高清在线| 日韩在线免费av| caopen在线视频| 欧美黄色成人网| 色偷偷色偷偷色偷偷在线视频| 97精品国产97久久久久久| 午夜影视一区二区三区| 日韩美女主播视频| 老司机精品视频网| 91在线高清免费观看| 亚洲综合影院| 久久久水蜜桃| 日韩一区二区三区免费播放| 色中文字幕在线观看| 欧美激情亚洲| 成人综合视频在线| 免费xxxx性欧美18vr| 国产男女无遮挡猛进猛出| 成人性生交大片免费看视频在线 | 手机看片一级片| 国产一区二区三区免费观看| 男人的天堂影院| 欧美激情一区二区三区四区| 成人免费视频网站入口::| 亚洲自拍偷拍av| 波多野结衣激情视频| 欧美疯狂性受xxxxx喷水图片| 男人天堂手机在线观看| 国产亚洲日本欧美韩国| 尤物在线网址| 国产91在线高潮白浆在线观看| 国产高清亚洲| 欧美日韩中文国产一区发布| 91亚洲国产| 女人喷潮完整视频| 激情综合色播五月| 亚洲精品女人久久久| 综合久久一区二区三区| 91九色丨porny丨肉丝| 精品免费一区二区| 欧美极品第一页| 高清av一区| 国产免费一区二区三区| 欧美3p在线观看| 国产精品无码一区二区在线| 毛片不卡一区二区| 毛茸茸free性熟hd| 最新国产精品久久精品| 中文字幕在线观看视频免费| 日韩欧美国产一区二区在线播放 | 日韩在线视频观看| 九色porny自拍视频在线播放| 91免费观看网站| 狠狠综合久久av一区二区蜜桃| 九九热只有这里有精品| 麻豆精品国产91久久久久久| 欧美熟妇一区二区| 亚洲一区视频在线| 国产精品久久免费| 国产亚洲精品91在线| 国产资源在线观看入口av| 91青草视频久久| 久久精品99久久无色码中文字幕| 国产乱子伦农村叉叉叉| 成人av综合在线| 婷婷在线精品视频| 欧美日韩国产小视频在线观看| 欧美zozo| 日韩av成人在线观看| 国产福利资源一区| 欧美a级免费视频| 国产精选一区二区三区| 国产精品1区2区3区4区| 日本韩国精品一区二区在线观看| 少妇一区二区三区四区| 欧美激情欧美激情| 亚洲经典视频| 黄色a级片免费看| 国产精品白丝jk黑袜喷水| 一区二区国产精品精华液| 欧美日韩亚洲不卡| chinese偷拍一区二区三区| 国产成人精品一区二区| 久久综合欧美| 国产一区视频免费观看| 精品国产亚洲一区二区三区在线 | 免费在线播放电影| 91视频99| 亚洲精选久久| 自拍视频一区二区| 精品福利樱桃av导航| 少妇高潮一区二区三区99小说| 国语自产精品视频在线看一大j8 | 亚洲电影免费观看高清完整版在线观看| 国产成人在线视频免费观看| 亚洲iv一区二区三区| 欧美国产免费| 久久久久国产精品无码免费看| 五月天中文字幕一区二区| 五月激情婷婷综合| 欧美在线激情视频| 欧美激情在线免费| 天天插天天操天天射| 中文字幕一区二区三区色视频 | 亚洲一区二区三区加勒比| 另类小说综合欧美亚洲| 久久久精品少妇| 日韩欧美国产成人一区二区| av中文资源在线资源免费观看| 久久久久久久久久久一区| 久久一区欧美| 成人三级视频在线观看| 日韩一区二区三区在线观看 | 91精品福利| 国产精品嫩草69影院| 日韩欧美高清视频| 天堂中文а√在线| 国产精品国产一区二区| 午夜综合激情| 三级黄色录像视频| 欧美成人三级电影在线| 美女日韩欧美| 亚洲国产视频一区| 色偷偷在线观看| 国产精品美女网站| 欧美在线高清| japanese中文字幕| 91精品国产91久久久久久最新毛片| 成人免费图片免费观看| 日本一区二区三区四区在线观看| 极品少妇一区二区| 日韩精品成人在线| 尤物精品国产第一福利三区| 97久久综合区小说区图片区| 国产福利视频在线播放| 亚洲欧美日韩久久精品| 日韩精品一二| 亚洲一区美女视频在线观看免费| 香蕉亚洲视频| 欧美丰满熟妇bbbbbb| 亚洲天堂精品在线| 成人av资源网址| 午夜精品免费看| 色综合天天综合网天天狠天天| av在线下载|