最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot統(tǒng)一api返回風(fēng)格的實(shí)現(xiàn)

 更新時(shí)間:2021年03月07日 09:27:11   作者:wz_app  
這篇文章主要介紹了SpringBoot統(tǒng)一api返回風(fēng)格的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

學(xué)過上一章的人也許發(fā)現(xiàn)問題了,接口返回的格式基本都是固定的,例如

{
 "code": 200,
 "msg": "",
 "data": "Object ....",
}

而我們的登陸卻返回

密碼必須傳!等等返回值

顯然我們的返回格式不符合常規(guī)開發(fā),因?yàn)榍芭_(tái)并不知道這是錯(cuò)誤信息還是正確返回信息!
所以我們簡單封裝一個(gè)返回類,代碼如下

添加base包,新建BaseResult類

import lombok.Data;

@Data
public class BaseResult {
  private int code;//200=成功,否則失敗
  private String msg;//失敗時(shí)的提示信息
  private Object data;//成功返回的內(nèi)容

  public BaseResult(int code, String msg, Object data) {
    this.code = code;
    this.msg = msg;
    this.data = data;
  }
}

在修改下登陸的controller

  @PostMapping("login")
  public BaseResult login(@RequestParam(value = "user", defaultValue = "") String user,
              @RequestParam(value = "pass", defaultValue = "") String pass) {
    if (user.equals("")) return new BaseResult(400, "賬號(hào)必須傳!", "");
    if (pass.equals("")) return new BaseResult(400, "密碼必須傳!", "");
    User user1 = mapper.login(user, pass);
    if (user1 == null) return new BaseResult(500, "賬號(hào)密碼不正確!", "");
    user1.setPass("");
    return new BaseResult(200, "", user1);
  }

接下來我們看下返回值

{
  "code": 400,
  "msg": "密碼必須傳!",
  "data": ""
}
{
  "code": 200,
  "msg": "",
  "data": {
    "id": 1,
    "user": "wz",
    "pass": ""
  }
}

上邊這種返回格式,前端就非常好解析

http各個(gè)狀態(tài)碼的含義:由三位數(shù)字組成,第一位定義了狀態(tài)碼的類型

2開頭:(請求成功)表示成功處理了請求的狀態(tài)代碼
200:(成功)服務(wù)器已成功處理了請求。通常,這表示服務(wù)器提供了請求的網(wǎng)頁。
201:(已創(chuàng)建)請求成功并且服務(wù)器創(chuàng)建了新的資源
202:(已接受)服務(wù)器已接受請求,但尚未處理
203:(非授權(quán)信息)服務(wù)器已成功處理了請求,但返回的信息可能來自另一資源。
204:(無內(nèi)容)服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容
205:(重置內(nèi)容)服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容
206:(部分內(nèi)容)服務(wù)器成功處理了部分 GET 請求

3開頭:(請求被重定向)表示要完成請求,需要進(jìn)一步操作。通常,這些狀態(tài)代碼用來重定向
300:(多種選擇)針對請求,服務(wù)器可執(zhí)行多種操作。服務(wù)器可根據(jù)請求者(user agent)選擇一項(xiàng)操作,或提供操作列表供請求者選擇
301:(永久移動(dòng))請求的網(wǎng)頁已永久移動(dòng)到新位置。服務(wù)器返回此響應(yīng)(對 GET 或 HEAD 請求的響應(yīng))時(shí),會(huì)自動(dòng)將請求者轉(zhuǎn)到新的位置
302:(臨時(shí)移動(dòng))服務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求,但請求者應(yīng)繼續(xù)使用原有位置來進(jìn)行以后的請求
303:(查看其他位置)請求者應(yīng)當(dāng)對不同的位置使用單獨(dú)的 GET 請求來檢索響應(yīng)時(shí),服務(wù)器返回此代碼
304:(未修改)自從上次請求后,請求的網(wǎng)頁未修改過。服務(wù)器返回此響應(yīng),不會(huì)返回網(wǎng)頁內(nèi)容
305:(使用代理)請求者只能使用代理訪問請求的網(wǎng)頁。如果服務(wù)器返回此響應(yīng),還表示請求者應(yīng)使用代理
307:(臨時(shí)重定向)服務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求,但請求者繼續(xù)使用原有位置來進(jìn)行以后的請求

4開頭:(請求錯(cuò)誤)這些狀態(tài)碼表示請求可能出錯(cuò),妨礙了服務(wù)器的處理
400:(錯(cuò)誤請求)服務(wù)器不理解請求的語法
401:(未授權(quán))請求要求身份驗(yàn)證。對于需要登錄的網(wǎng)頁,服務(wù)器可能返回此響應(yīng)
403:(禁止)服務(wù)器拒絕請求
404:(未找到)服務(wù)器找不到請求的網(wǎng)頁
405:(方法禁用)禁用請求中指定的方法
406:(不接受)無法使用請求的內(nèi)容特性響應(yīng)請求的網(wǎng)頁
407:(需要代理授權(quán))此狀態(tài)代碼與 401 (未授權(quán))類似,但指定請求者應(yīng)當(dāng)授權(quán)使用代理
408:(請求超時(shí))服務(wù)器等候請求時(shí)發(fā)生超時(shí)
409:(沖突)服務(wù)器在完成請求時(shí)發(fā)生沖突。服務(wù)器必須在響應(yīng)中包含有關(guān)沖突的信息
410:(已刪除)如果請求的資源已永久刪除,服務(wù)器就會(huì)返回此響應(yīng)
411:(需要有效長度)服務(wù)器不接受不含有效內(nèi)容長度標(biāo)頭字段的請求
412:(未滿足前提條件)服務(wù)器未滿足請求者在請求中設(shè)置的其中一個(gè)前提條件
413:(請求實(shí)體過大)服務(wù)器無法處理請求,因?yàn)檎埱髮?shí)體過大,超出服務(wù)器的處理能力
414:(請求的 URI 過長)請求的URI(通常為網(wǎng)址)過長,服務(wù)器無法處理
415:(不支持的媒體類型)請求的格式不受請求頁面的支持
416:(請求范圍不符合)如果頁面無法提供請求的范圍,則服務(wù)器返回此狀態(tài)代碼
417:(未滿足期望值)服務(wù)器未滿足“期望”請求標(biāo)頭字段要求

5開頭:(服務(wù)器錯(cuò)誤)這些狀態(tài)代碼表示服務(wù)器在嘗試處理請求時(shí)發(fā)生內(nèi)部錯(cuò)誤。這些錯(cuò)誤可能是服務(wù)器本身的錯(cuò)誤,而不是請求出錯(cuò)。
500:(服務(wù)器內(nèi)部錯(cuò)誤)服務(wù)器遇到錯(cuò)誤,無法完成請求
501:(尚未實(shí)施)服務(wù)器不具備完成請求的功能。例如,服務(wù)器無法識(shí)別請求方法時(shí)可能會(huì)返回此代碼
502:(錯(cuò)誤網(wǎng)關(guān))服務(wù)器作為網(wǎng)關(guān)或代理,從上游服務(wù)器收到無效響應(yīng)
503:(服務(wù)不可用)服務(wù)器目前無法使用(由于超載或停機(jī)維護(hù))。通常,這只是暫時(shí)狀態(tài)
504:(網(wǎng)關(guān)超時(shí))服務(wù)器作為網(wǎng)關(guān)或代理,但是沒有及時(shí)從上游服務(wù)器收到請求
505:(HTTP 版本不受支持)服務(wù)器不支持請求中所用的 HTTP 協(xié)議版本

到此這篇關(guān)于SpringBoot統(tǒng)一api返回風(fēng)格的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot統(tǒng)一api返回內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Java線程的相關(guān)方法詳細(xì)解析

    Java線程的相關(guān)方法詳細(xì)解析

    以下是對Java線程的相關(guān)方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下
    2013-09-09
  • Java中containsKey?、contains方法的使用及注意事項(xiàng)詳解

    Java中containsKey?、contains方法的使用及注意事項(xiàng)詳解

    這篇文章主要介紹了Java中containsKey?、?contains方法的使用及注意事項(xiàng)的相關(guān)資料,兩者分別用于檢查鍵和元素存在性,所屬接口不同,性能差異顯著,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-06-06
  • java并行流處理具體方案講解

    java并行流處理具體方案講解

    并行流是Java?8引入的一個(gè)強(qiáng)大工具,可以幫助我們充分利用多核處理器的性能,加速數(shù)據(jù)處理過程,這篇文章主要介紹了java并行流處理的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-02-02
  • IDEA快速部署Spring?Boot?項(xiàng)目到Docker的實(shí)現(xiàn)方法

    IDEA快速部署Spring?Boot?項(xiàng)目到Docker的實(shí)現(xiàn)方法

    本文主要介紹了IDEA快速部署Spring?Boot?項(xiàng)目到Docker的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • restTemplate未設(shè)置連接數(shù)導(dǎo)致服務(wù)雪崩問題以及解決

    restTemplate未設(shè)置連接數(shù)導(dǎo)致服務(wù)雪崩問題以及解決

    面對線上問題,仔細(xì)分析原因,及時(shí)調(diào)整配置,能有效解決問題,本文詳細(xì)描述了線上遇到流量突增引發(fā)的問題,通過查看代碼和連接池信息,分析出問題的原因是連接池滿了,連接池大小配置不足以應(yīng)對大并發(fā)流量,通過調(diào)整連接池大小配置
    2024-10-10
  • 淺談Spring Boot 2.0遷移指南主要注意點(diǎn)

    淺談Spring Boot 2.0遷移指南主要注意點(diǎn)

    Spring官方的Spring Boot 2變動(dòng)指南,主要是幫助您將應(yīng)用程序遷移到Spring Boot 2.0,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • SpringBoot @Validated注解實(shí)現(xiàn)參數(shù)分組校驗(yàn)的方法實(shí)例

    SpringBoot @Validated注解實(shí)現(xiàn)參數(shù)分組校驗(yàn)的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于SpringBoot @Validated注解實(shí)現(xiàn)參數(shù)分組校驗(yàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java實(shí)現(xiàn)合并兩個(gè)word文檔內(nèi)容

    Java實(shí)現(xiàn)合并兩個(gè)word文檔內(nèi)容

    這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)合并兩個(gè)word文檔內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • SpringBoot使用@ControllerAdvice全局異常處理

    SpringBoot使用@ControllerAdvice全局異常處理

    這篇文章主要介紹了SpringBoot使用@ControllerAdvice全局異常處理,異常處理是非常重要的一部分,它可以幫助我們捕獲并處理應(yīng)用程序中出現(xiàn)的異常情況,提高應(yīng)用程序的健壯性和可靠性,需要的朋友可以參考下
    2023-07-07
  • 從log4j切換到logback后項(xiàng)目無法啟動(dòng)的問題及解決方法

    從log4j切換到logback后項(xiàng)目無法啟動(dòng)的問題及解決方法

    這篇文章主要介紹了從log4j切換到logback后項(xiàng)目無法啟動(dòng)的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01

最新評論

拉萨市| 浦北县| 宜阳县| 蒙阴县| 汝南县| 洪雅县| 乾安县| 柳州市| 宁明县| 淮北市| 黄平县| 于都县| 平原县| 祁东县| 岳西县| 名山县| 淮安市| 贵阳市| 宜春市| 乡宁县| 郸城县| 巴里| 奇台县| 永顺县| 洛南县| 布拖县| 舞阳县| 承德市| 天津市| 南京市| 东平县| 扶绥县| 昌宁县| 儋州市| 上栗县| 米脂县| 定西市| 涞水县| 商水县| 个旧市| 南靖县|