一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - java api返回值的標準化詳解

java api返回值的標準化詳解

2021-07-20 16:07張占嶺(倉儲大叔,Lind) Java教程

這篇文章主要介紹了java api返回值的標準化詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

api返回值的標準化

例如

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

封裝返回對象

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

封裝的返回對象:

?
1
2
3
4
5
6
7
8
9
10
@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響應狀態碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@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));
 
}

響應的結果

?
1
2
3
4
5
6
7
8
9
mockhttpservletresponse:
   status = 400
 error message = null
   headers = {}
  content type = null
    body =
 forwarded url = null
 redirected url = null
   cookies = []

使用我們封裝的status狀態碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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());
 
}

響應的結果

?
1
2
3
4
5
6
7
8
9
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返回值的標準化詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://www.cnblogs.com/lori/p/10494923.html

延伸 · 閱讀

精彩推薦
  • Java教程Java 線程池詳解

    Java 線程池詳解

    本文給大家總結了java中的線程池的相關問題,非常的詳細也很實用,有需要的小伙伴可以參考下。 ...

    趙杰A-1244762020-04-13
  • Java教程Jlabel實現內容自動換行簡單實例

    Jlabel實現內容自動換行簡單實例

    這篇文章主要介紹了Jlabel實現內容自動換行簡單實例,具有一定借鑒價值,需要的朋友可以參考下...

    御風逍遙7742021-03-16
  • Java教程Spring加載加密的配置文件詳解

    Spring加載加密的配置文件詳解

    這篇文章主要為大家詳細介紹了Spring加載加密的配置文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    二十六度半1552020-11-30
  • Java教程完美解決gson將Integer默認轉換成Double的問題

    完美解決gson將Integer默認轉換成Double的問題

    下面小編就為大家帶來一篇完美解決gson將Integer默認轉換成Double的問題。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看...

    Java之家6752020-08-24
  • Java教程java 可重啟線程及線程池類的設計(詳解)

    java 可重啟線程及線程池類的設計(詳解)

    下面小編就為大家帶來一篇java 可重啟線程及線程池類的設計(詳解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    轉載4242020-07-30
  • Java教程Java編程之文件讀寫實例詳解

    Java編程之文件讀寫實例詳解

    這篇文章主要介紹了Java編程之文件讀寫的方法,結合實例形式較為詳細的分析了Java文件讀寫所涉及的類及相應的操作技巧,需要的朋友可以參考下 ...

    Sunnyfans5212020-03-11
  • Java教程Java實現多線程文件下載的代碼示例

    Java實現多線程文件下載的代碼示例

    本篇文章主要介紹了Java實現多線程下載的代碼示例,Java多線程可以充分利用CPU的資源,具有一定的參考價值,感興趣的小伙伴們可以參考一下。...

    路代為說項2242020-08-18
  • Java教程eclipse端口被占用問題的解決方法

    eclipse端口被占用問題的解決方法

    這篇文章主要給大家介紹了關于eclipse端口被占用問題的解決方法,文中通過圖文以及命令代碼介紹的非常詳細,對遇到這個問題的朋友們具有一定的參考學...

    祈澈姑娘6032021-05-21
主站蜘蛛池模板: 日本欧美不卡一区二区三区在线 | 欧美精品久久久久久久免费观看 | 国产精品特黄毛片 | 门房秦大爷最新章节阅读 | 国内交换一区二区三区 | 全日爱韩国视频在线观看 | 国语第一次处破女 | 果冻传媒在线完整免费观 | 好大好爽好舒服视频 | 精品亚洲视频在线 | 精新精新国产自在现 | 视频在线观看国产 | 啪哆哆 | 亚洲欧美另类综合 | 国产传媒天美果冻 | 国产乱码免费卡1卡二卡3卡四 | 天天综合天天色 | 国产99在线观看 | 国产高清dvd| 亚洲精品国产AV成人毛片 | 欧美一级视频在线高清观看 | 高跟丝袜人妖sissy露出调教 | 加勒比福利 | 逼里逼里香 | 亚洲不卡视频在线观看 | 91精品国产高清久久久久久 | 洗濯屋し在线观看 | chinese帅男gay野外性 | 精品久久看 | 欧美日韩精品免费一区二区三区 | 欧美xxxxx九色视频免费观看 | 视频二区 素人 欧美 日韩 | 国产小嫩模好紧 | 公妇乱淫 | 日本在线看免费 | 99在线观看视频免费精品9 | 天美传媒影视在线免费观看 | 欧美久在线观看在线观看 | chinese帅男gay野外性 | 精品欧美一区二区三区四区 | s8017加密路线免费 |