欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

定義返回的信息格式

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

{
  "code": "0",
  "message": "請(qǐng)求成功",
  "data": {
    "name": "Jimmy"
  }
  ""
}

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

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

實(shí)踐

我們使用 Spring Boot 來(lái)實(shí)踐一下,通過(guò) IDEA 新建一個(gè)名為 jimmy-response 的項(xiàng)目:

添加 lombok

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

pom.xml 中添加依賴:

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

如果并沒(méi)有自動(dòng)安裝。點(diǎn)擊 pom.xml 文件右上角同步圖案即可。

定義返回的對(duì)象

我們?cè)?ResultData.java 中定義返回的類(lèi):

// ResultData.java
package com.example.jimmyresponse;
import lombok.Data;
@Data
public class ResultData<T> {
    private String code;
    private String message;
    private T data;
    // 擴(kuò)展字段,比如接口請(qǐng)求時(shí)間
    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(("請(qǐng)求成功!"));
        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ù)

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

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

調(diào)用

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

// 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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)蘿卜勇者游戲的示例代碼

    Java實(shí)現(xiàn)蘿卜勇者游戲的示例代碼

    《蘿卜勇者》是由國(guó)內(nèi)玩家自制的一款獨(dú)立游戲,玩家扮演蘿卜勇士闖關(guān),打敗各種邪惡的敵人,獲得最后的勝利。本文將利用Java實(shí)現(xiàn)這一游戲,感興趣的可以了解一下
    2022-02-02
  • Java實(shí)現(xiàn)簡(jiǎn)單員工管理系統(tǒng)

    Java實(shí)現(xiàn)簡(jiǎn)單員工管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單員工管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java測(cè)試題 實(shí)現(xiàn)一個(gè)注冊(cè)功能過(guò)程解析

    Java測(cè)試題 實(shí)現(xiàn)一個(gè)注冊(cè)功能過(guò)程解析

    這篇文章主要介紹了Java測(cè)試題 實(shí)現(xiàn)一個(gè)注冊(cè)功能過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java線程的控制詳解

    Java線程的控制詳解

    這篇文章主要介紹了Java中的join線程、后臺(tái)線程、線程睡眠、線程讓步以及線程的優(yōu)先級(jí),非常的詳細(xì),希望能對(duì)大家有所幫助
    2014-10-10
  • spring cloud openfeign 源碼實(shí)例解析

    spring cloud openfeign 源碼實(shí)例解析

    這篇文章主要介紹了spring cloud openfeign 源碼實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Spring中使用Hystrix實(shí)現(xiàn)熔斷詳解

    Spring中使用Hystrix實(shí)現(xiàn)熔斷詳解

    這篇文章主要介紹了Java中使用Hystrix實(shí)現(xiàn)熔斷詳解,對(duì)于第一個(gè)問(wèn)題,查看hystrix源碼可以看到,如果有緩存配置是優(yōu)先使用的緩存的,因此如果配置更新,必須要更新緩存,不能使用Hystrix.reset()方法來(lái)更新緩存,需要的朋友可以參考下
    2023-12-12
  • Spring中的@RestControllerAdvice注解使用解析

    Spring中的@RestControllerAdvice注解使用解析

    這篇文章主要介紹了Spring中的@RestControllerAdvice注解使用解析,@RestControllerAdvice?是?Spring?框架中一個(gè)用于統(tǒng)一處理控制器異常和返回結(jié)果的注解,它可以被用來(lái)定義全局異常處理程序和全局響應(yīng)結(jié)果處理程序,需要的朋友可以參考下
    2024-01-01
  • Java如何在List或Map遍歷過(guò)程中刪除元素

    Java如何在List或Map遍歷過(guò)程中刪除元素

    相信大家在日常的開(kāi)發(fā)過(guò)程中,經(jīng)常需要對(duì)List或Map里面的符合某種業(yè)務(wù)的數(shù)據(jù)進(jìn)行刪除,但是如果不了解里面的機(jī)制就容易掉入“陷阱”導(dǎo)致遺漏或者程序異常。下面這篇文章將會(huì)給大家詳細(xì)介紹Java如何在List和Map遍歷過(guò)程中刪除元素,有需要的朋友們可以參考借鑒。
    2016-12-12
  • Jmeter如何添加循環(huán)控制器

    Jmeter如何添加循環(huán)控制器

    這篇文章主要介紹了Jmeter如何添加循環(huán)控制器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 如何使用java寫(xiě)Student類(lèi)的功能

    如何使用java寫(xiě)Student類(lèi)的功能

    這篇文章主要介紹了如何使用java寫(xiě)Student類(lèi)的功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評(píng)論