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

java定義通用返回結(jié)果類ResultVO使用示例詳解

 更新時(shí)間:2023年09月24日 14:20:00   作者:Leovany  
這篇文章主要為大家介紹了java定義通用返回結(jié)果類ResultVO使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1. 定義通用返回結(jié)果類

定義ResultVO類,作返回給前端的對(duì)象結(jié)構(gòu),主要有4個(gè)字段

  • code : 錯(cuò)誤碼
  • data : 內(nèi)容
  • message : 消息
  • description : 具體描述
import lombok.Data;
import java.io.Serializable;
/**
 * 通用返回結(jié)果類
 * @param <T>
 */
@Data
public class ResultVO<T> implements Serializable {
    /**
     * 錯(cuò)誤碼
     */
    private int code;
    /**
     * 內(nèi)容
     */
    private T data;
    /**
     * 消息
     */
    private String message;
    /**
     * 描述
     */
    private String description;
    public ResultVO(int code, T data, String message, String description) {
        this.code = code;
        this.data = data;
        this.message = message;
        this.description = description;
    }
    public ResultVO(int code, T data) {
        this(code,data,"","");
    }
    public ResultVO(int code, T data, String message) {
        this(code,data,message,"");
    }
}

2 工具類

/**
 * 通用返回響應(yīng)工具類
 *
 * @author leovany
 * @date 2023/09/23
 */
public class ResultUtils {
    /**
     * 成功
     *
     * @param data 數(shù)據(jù)
     * @return {@link ResultVO}<{@link T}>
     */
    public static <T> ResultVO<T> success(T data) {
        return new ResultVO<T>(0, data, "success");
    }
    /**
     * 錯(cuò)誤
     *
     * @param code        錯(cuò)誤碼
     * @param message     信息
     * @param description 描述
     * @return {@link ResultVO}
     */
    public static ResultVO error(int code, String message, String description) {
        return new ResultVO<>(code, null, message, description);
    }
}

3 使用

  • 返回值用 ResultVO<XXX>封裝
  • 成功返回:ResultUtils.success(XX);
  • 失敗失?。?code>ResultUtils.error(code,message,description);
@PostMapping("/login")
public ResultVO<User> userLogin(@RequestBody UserLoginRequest userLoginRequest, HttpServletRequest request) {
    String userAccount = userLoginRequest.getUserAccount();
    String userPassword = userLoginRequest.getUserPassword();
    // 參數(shù)校驗(yàn)
    if (StringUtils.isAnyBlank(userAccount, userPassword)) {
        return ResultUtils.error(40000,"參數(shù)錯(cuò)誤","參數(shù)不能為空");
    }
    // 從數(shù)據(jù)庫(kù)查找用戶
    User user = userService.doLogin(userAccount, userPassword, request);
    return ResultUtils.success(user);
}

跟之前對(duì)比,代碼更加優(yōu)雅

4 返回給前端效果圖

返回給前端的響應(yīng)結(jié)果

{
    "code": 0,
    "data": {
        "id": 10,
        "username": "admin"
    },
    "message": "success",
    "description": ""
}
  • 成功

  • 失敗

   總結(jié)

通過封裝ResultVO通用返回結(jié)果對(duì)象之后,保證了后端跟前端視圖對(duì)象(VO)的統(tǒng)一。

以上就是java定義通用返回結(jié)果類ResultVO使用示例詳解的詳細(xì)內(nèi)容,更多關(guān)于java返回結(jié)果類ResultVO的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java緩存池代碼實(shí)例詳解

    Java緩存池代碼實(shí)例詳解

    本篇文章主要介紹了Java實(shí)現(xiàn)簡(jiǎn)單的緩存方法實(shí)例,需要的朋友可以參考下
    2017-04-04
  • Java多線程Callable接口實(shí)現(xiàn)代碼示例

    Java多線程Callable接口實(shí)現(xiàn)代碼示例

    相信大家對(duì)Java編程中如何創(chuàng)建線程已經(jīng)不陌生了,這篇文章就向朋友們介紹實(shí)現(xiàn)callable接口,具體實(shí)例詳見正文。
    2017-10-10
  • Spring?Get請(qǐng)求與post請(qǐng)求的實(shí)現(xiàn)

    Spring?Get請(qǐng)求與post請(qǐng)求的實(shí)現(xiàn)

    在Spring中,GET請(qǐng)求和POST請(qǐng)求是兩種常見的HTTP請(qǐng)求方法,用于與服務(wù)器進(jìn)行交互,本文詳細(xì)的介紹一下Spring?Get請(qǐng)求與post請(qǐng)求的實(shí)現(xiàn),感興趣的可以了解一下
    2023-10-10
  • 解決@Autowired報(bào)錯(cuò)Could not autowire. No beans of ‘XXX‘ type found問題

    解決@Autowired報(bào)錯(cuò)Could not autowire. No bea

    介紹了在IDEA中使用@Autowired報(bào)錯(cuò)Couldnot autowire. No beans of 'XXX' type found的解決方法,原因是@Autowired在注入service時(shí),由于service接口沒有實(shí)現(xiàn)類,而mybatis僅需提供Dao接口,導(dǎo)致@Autowired無法識(shí)別
    2024-12-12
  • JAVA中通過Hibernate-Validation進(jìn)行參數(shù)驗(yàn)證

    JAVA中通過Hibernate-Validation進(jìn)行參數(shù)驗(yàn)證

    這篇文章主要介紹了JAVA中通過Hibernate-Validation進(jìn)行參數(shù)驗(yàn)證,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java 高并發(fā)中volatile的實(shí)現(xiàn)原理

    java 高并發(fā)中volatile的實(shí)現(xiàn)原理

    這篇文章主要介紹了java 高并發(fā)中volatile的實(shí)現(xiàn)原理的相關(guān)資料,在多線程并發(fā)編程中synchronized和Volatile都扮演著重要的角色,Volatile是輕量級(jí)的synchronized,它在多處理器開發(fā)中保證了共享變量的“可見性”,需要的朋友可以參考下
    2017-03-03
  • IDEA下使用Spring Boot熱加載的實(shí)現(xiàn)

    IDEA下使用Spring Boot熱加載的實(shí)現(xiàn)

    本文主要介紹了IDEA下使用Spring Boot熱加載的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • SpringBoot中優(yōu)化Undertow性能的方法總結(jié)

    SpringBoot中優(yōu)化Undertow性能的方法總結(jié)

    Undertow是一個(gè)采用 Java 開發(fā)的靈活的高性能Web服務(wù)器,提供包括阻塞和基于NIO的非堵塞機(jī)制,本文將給大家介紹SpringBoot中優(yōu)化Undertow性能的方法,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-08-08
  • Java集合系列之LinkedList源碼分析

    Java集合系列之LinkedList源碼分析

    這篇文章主要為大家詳細(xì)介紹了Java集合系列之LinkedList源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Spring集成Seata方式(案例演示)

    Spring集成Seata方式(案例演示)

    這篇文章主要介紹了Spring集成Seata方式,本案例使用Seata-All演示,結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08

最新評(píng)論