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

詳解SpringBoot如何統(tǒng)一處理返回的信息

 更新時間:2023年06月06日 09:14:12   作者:Jimmy  
現(xiàn)在的項目是前后端開發(fā)的居多,那么我們怎么定義接口返回的數(shù)據(jù),怎么使用?Spring?Boot?來統(tǒng)一處理返回的信息呢,本文就來和大家簡單講講

現(xiàn)在的項目是前后端開發(fā)的居多,那么,后端的開發(fā)只需要返回相關(guān)的接口就行了。那么,我們怎么定義接口返回的數(shù)據(jù),怎么使用 Spring Boot 來統(tǒng)一處理返回的信息呢?

開發(fā)環(huán)境如下:

  • IntelliJ IDEA 2021.2.2 (Ultimate Edition)
  • macOS Monterey - Apple M1
  • Java version - 17.0.7
  • Spring Boot - 3.1.0

定義返回的信息格式

一個合理的信息返回格式,至少包含下面三個字段:

{
  "code": "0",
  "message": "請求成功",
  "data": {
    "name": "Jimmy"
  }
  ""
}

code 表示返回的狀態(tài),我們這個可以自行定義,10000 代表成功; 20000 代表某某等;message 表示接口返回的信息,是否成功了,失敗的理由是什么等;data 是表示請求成功后,返回的數(shù)據(jù),可以是數(shù)組也可以是對象等。

信息返回格式,是否應(yīng)該有其他字段,按照需求調(diào)整。

實踐

我們使用 Spring Boot 來實踐一下,通過 IDEA 新建一個名為 jimmy-response 的項目:

添加 lombok

Lombok 是一個插件,其主要的用途是提供了簡單注釋的形式來幫助我們簡化消除一些必須有但是顯得很臃腫的 java 代碼,提高編碼效率,使代碼更加簡潔。

pom.xml 中添加依賴:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

如果并沒有自動安裝。點擊 pom.xml 文件右上角同步圖案即可。

定義返回的對象

我們在 ResultData.java 中定義返回的類:

// ResultData.java
package com.example.jimmyresponse;
import lombok.Data;
@Data
public class ResultData<T> {
    private String code;
    private String message;
    private T data;
    // 擴(kuò)展字段,比如接口請求時間
    private long accessTimestamp;
    // 構(gòu)造函數(shù)
    public ResultData() {
        this.accessTimestamp = System.currentTimeMillis();
    }
    // 成功返回
    public static <T> ResultData<T> success(T data) {
        ResultData<T> resultData = new ResultData<>();
        resultData.setCode("10000");
        resultData.setMessage(("請求成功!"));
        resultData.setData(data);
        return resultData;
    }
    // 失敗返回
    public static <T> ResultData<T> fail(String code, String message) {
        ResultData<T> resultData = new ResultData<>();
        resultData.setCode(code);
        resultData.setMessage(message);
        return resultData;
    }
}

模擬數(shù)據(jù)

我們定義一個類來模擬用戶的數(shù)據(jù):

package com.example.jimmyresponse;
public class User {
    public String name;
    public User(String name) {
        this.name = name; // 用戶名
    }
}

調(diào)用

最后,我們調(diào)用定義好的返回對象:

// ApiControll.java
package com.example.jimmyresponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ApiController<T> {
    @GetMapping("/")
    public T getList() {
        // 模擬用戶數(shù)據(jù)
        User users[] = {
                new User("Jimmy"),
                new User("Ivy")
        };
        return (T) ResultData.success(users); // 信息成功返回
    }
}

結(jié)果的如下:

到此這篇關(guān)于詳解SpringBoot如何統(tǒng)一處理返回的信息的文章就介紹到這了,更多相關(guān)SpringBoot統(tǒng)一處理返回信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java程序打包成exe文件的完整圖文教程

    Java程序打包成exe文件的完整圖文教程

    將Java程序打包成exe文件是一個多步驟的過程,涉及準(zhǔn)備Java環(huán)境、項目代碼,使用適當(dāng)?shù)墓ぞ哌M(jìn)行打包,以及測試和優(yōu)化生成的exe文件,這篇文章主要介紹了Java程序打包成exe文件的相關(guān)資料,需要的朋友可以參考下
    2026-04-04
  • 使用kafka如何選擇分區(qū)數(shù)及kafka性能測試

    使用kafka如何選擇分區(qū)數(shù)及kafka性能測試

    這篇文章主要介紹了使用kafka如何選擇分區(qū)數(shù)及kafka性能測試,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • springboot集成Kaptcha實現(xiàn)圖片驗證碼過程

    springboot集成Kaptcha實現(xiàn)圖片驗證碼過程

    這篇文章主要介紹了springboot集成Kaptcha實現(xiàn)圖片驗證碼過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • C++ 虛函數(shù)與純虛函數(shù)代碼詳解

    C++ 虛函數(shù)與純虛函數(shù)代碼詳解

    本文主要介紹了C++ 虛函數(shù)與純虛函數(shù)的使用與區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 淺談Java 代理機(jī)制

    淺談Java 代理機(jī)制

    Java 有兩種代理方式,一種是靜態(tài)代理,另一種是動態(tài)代理。如果我們在代碼編譯時就確定了被代理的類是哪一個,那么就可以直接使用靜態(tài)代理;如果不能確定,那么可以使用類的動態(tài)加載機(jī)制,在代碼運行期間加載被代理的類這就是動態(tài)代理
    2021-06-06
  • JAVA?String類中的一些常用方法示例詳解

    JAVA?String類中的一些常用方法示例詳解

    在我們的工作中,常常要對一個字符串進(jìn)行一些操作,這里提供一些常用的方法,常常需要這些方法進(jìn)行組合處理字符串,這篇文章主要給大家介紹了關(guān)于JAVA?String類中的一些常用方法,需要的朋友可以參考下
    2023-10-10
  • Hibernate緩存機(jī)制實例代碼解析

    Hibernate緩存機(jī)制實例代碼解析

    這篇文章主要介紹了Hibernate緩存機(jī)制實例代碼解析,介紹了查詢緩存,一級二級緩存等內(nèi)容,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Spring Boot 通過注解實現(xiàn)數(shù)據(jù)校驗的方法

    Spring Boot 通過注解實現(xiàn)數(shù)據(jù)校驗的方法

    這篇文章主要介紹了Spring Boot 通過注解實現(xiàn)數(shù)據(jù)校驗的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • SSH結(jié)合jquery實現(xiàn)三級聯(lián)動效果

    SSH結(jié)合jquery實現(xiàn)三級聯(lián)動效果

    這篇文章主要為大家詳細(xì)介紹了SSH結(jié)合jquery實現(xiàn)三級聯(lián)動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Java反轉(zhuǎn)數(shù)組輸出實例代碼

    Java反轉(zhuǎn)數(shù)組輸出實例代碼

    這篇文章主要給大家介紹了關(guān)于Java反轉(zhuǎn)數(shù)組輸出以及利用Java實現(xiàn)字符串逆序輸出的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評論

明光市| 江山市| 民勤县| 康平县| 揭西县| 依兰县| 海宁市| 桃园县| 晋中市| 克什克腾旗| 基隆市| 延吉市| 呼伦贝尔市| 沁源县| 察隅县| 仙桃市| 牡丹江市| 栾城县| 九台市| 霞浦县| 陆良县| 光泽县| 孟津县| 称多县| 江源县| 曲沃县| 色达县| 汽车| 宝清县| 临清市| 河北区| 普陀区| 汾西县| 治多县| 庄浪县| 拉萨市| 志丹县| 澜沧| 枝江市| 天全县| 乳山市|