麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

java api返回值的標準化詳解

2024-07-14 08:43:54
字體:
來源:轉載
供稿:網友

api返回值的標準化

例如

{"status":200,"message":"操作成功","data":"{/"id/":1,/"name/":/"張三/"}"}

封裝返回對象

對象被封裝在base.util.ResponseUtils類型下,返回值是標準的ResponseEntity對象,返回體進行了二次封裝,主要有status,messsagedata組成,返回方法有ok和okMessage,如果真是返回消息,不需要對象,可以選擇使用okMessage,反之使用ok方法。

封裝的返回對象:

 @Builder @Getter @NoArgsConstructor @AllArgsConstructor static class ResponseBody { private int status; private String message; private Object data; }

httpError和我們封裝的httpError

對于http error來說有很多種,基本可以定為code在400到500之間的,像客戶端參數問題就是400- bad request,而沒有認證就是401-Unauthorized,認證但沒有對應的權限就是403-Forbidden,請求的
資源沒有發現就是404-Not Found,請求方式錯誤(方法是post,你發起請求用了get)就是405- Method Not Allowed等。

使用標準http響應狀態碼

 @GetMapping(GET_HTTP_ERROR) ResponseEntity<?> getHttpError() throws IOException { return ResponseEntity.badRequest().build(); } @Test public void getHttpError() throws Exception {  mockMvc   .perform(    get(LindDemo.GET_HTTP_ERROR)     .accept(MediaType.APPLICATION_JSON_UTF8))   .andExpect(status().is(400));  }

響應的結果

MockHttpServletResponse:   Status = 400 Error message = null   Headers = {}  Content type = null    Body =  Forwarded URL = null Redirected URL = null   Cookies = []

使用我們封裝的status狀態碼

 @GetMapping(GET_ERROR) ResponseEntity<?> getError() throws IOException { return ResponseUtils.badRequest("傳入的參數非法!"); }  @Test public void getError() throws Exception {  mockMvc   .perform(    get(LindDemo.GET_ERROR)     .accept(MediaType.APPLICATION_JSON_UTF8))   .andExpect(status().isOk());  }

響應的結果

MockHttpServletResponse:   Status = 200 Error message = null   Headers = {Content-Type=[application/json;charset=UTF-8]}  Content type = application/json;charset=UTF-8    Body = {"status":400,"message":"傳入的參數非法!","data":{}} Forwarded URL = null Redirected URL = null   Cookies = []

通過上面的響應結果可以看到,我們封裝的請求httpcode還是200,只不過把請求錯誤400狀態碼寫在了body
對象里,目前這種方法用的比較多,像一些第三方接口用的都是這種方式,他們會規定相應的響應規范。

總結

事實上,兩種響應體都沒有問題,關鍵在于開發之間的規則要確定,不要在項目里兩者兼用!

以上所述是小編給大家介紹的java api返回值的標準化詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 13一14毛片免费看 | 国产pron| 欧美成人高清视频 | 欧美成人免费看 | 精品无吗乱吗av国产爱色 | 精品xxxx户外露出视频 | 奶子吧naiziba.cc免费午夜片在线观看 | 色阁五月 | 毛片视频大全 | 一级在线 | 中文黄色一级片 | 欧美一级高潮 | 毛片一区二区三区四区 | 91精选视频在线观看 | av大全在线播放 | 狠狠干天天操 | 调教小男生抽打尿孔嗯啊视频 | 黄色网址电影 | 日本精品视频一区二区三区四区 | 欧美粗暴analvideos | 自拍偷拍亚洲图片 | 国产69久久精品成人看 | 国产资源在线免费观看 | a视频在线看 | 久久美女免费视频 | 久久精品视频免费 | 91九色精品 | 欧美在线观看视频一区二区 | 天天夜夜草 | 久久久久国产一区二区三区不卡 | 久久精热 | 精品国产一级毛片 | 色操网 | 久久久在线免费观看 | 桥本有菜免费av一区二区三区 | 男女亲热网站 | 久久综合精品视频 | 久久国产成人精品国产成人亚洲 | 香蕉成人在线视频 | 毛片大全免费看 | 99精品视频在线观看免费播放 |