java定義通用返回結(jié)果類ResultVO使用示例詳解
1. 定義通用返回結(jié)果類
定義ResultVO類,作返回給前端的對象結(jié)構(gòu),主要有4個字段
- code : 錯誤碼
- data : 內(nèi)容
- message : 消息
- description : 具體描述
import lombok.Data;
import java.io.Serializable;
/**
* 通用返回結(jié)果類
* @param <T>
*/
@Data
public class ResultVO<T> implements Serializable {
/**
* 錯誤碼
*/
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");
}
/**
* 錯誤
*
* @param code 錯誤碼
* @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ù)校驗
if (StringUtils.isAnyBlank(userAccount, userPassword)) {
return ResultUtils.error(40000,"參數(shù)錯誤","參數(shù)不能為空");
}
// 從數(shù)據(jù)庫查找用戶
User user = userService.doLogin(userAccount, userPassword, request);
return ResultUtils.success(user);
}跟之前對比,代碼更加優(yōu)雅

4 返回給前端效果圖
返回給前端的響應(yīng)結(jié)果
{
"code": 0,
"data": {
"id": 10,
"username": "admin"
},
"message": "success",
"description": ""
}- 成功

- 失敗

總結(jié)
通過封裝ResultVO通用返回結(jié)果對象之后,保證了后端跟前端視圖對象(VO)的統(tǒng)一。
以上就是java定義通用返回結(jié)果類ResultVO使用示例詳解的詳細內(nèi)容,更多關(guān)于java返回結(jié)果類ResultVO的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解決@Autowired報錯Could not autowire. No bea
介紹了在IDEA中使用@Autowired報錯Couldnot autowire. No beans of 'XXX' type found的解決方法,原因是@Autowired在注入service時,由于service接口沒有實現(xiàn)類,而mybatis僅需提供Dao接口,導(dǎo)致@Autowired無法識別2024-12-12
JAVA中通過Hibernate-Validation進行參數(shù)驗證
這篇文章主要介紹了JAVA中通過Hibernate-Validation進行參數(shù)驗證,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
java 高并發(fā)中volatile的實現(xiàn)原理
這篇文章主要介紹了java 高并發(fā)中volatile的實現(xiàn)原理的相關(guān)資料,在多線程并發(fā)編程中synchronized和Volatile都扮演著重要的角色,Volatile是輕量級的synchronized,它在多處理器開發(fā)中保證了共享變量的“可見性”,需要的朋友可以參考下2017-03-03
IDEA下使用Spring Boot熱加載的實現(xiàn)
本文主要介紹了IDEA下使用Spring Boot熱加載的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
SpringBoot中優(yōu)化Undertow性能的方法總結(jié)
Undertow是一個采用 Java 開發(fā)的靈活的高性能Web服務(wù)器,提供包括阻塞和基于NIO的非堵塞機制,本文將給大家介紹SpringBoot中優(yōu)化Undertow性能的方法,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-08-08

