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

基于Java編寫一個通用返回工具類Result

 更新時間:2023年07月20日 17:19:21   作者:ProsperousEnding  
Java項目搭建時,常常需要去封裝一個通用型的Result工具類,下面小編就和大家分享一個已經封裝好的常用的返回類,希望對大家有所幫助

前言

Java項目搭建時,常常需要去封裝一個通用型的Result工具類,下面就是我自己封裝的常用的返回類,可以直接使用。(有部分Swagger注解,使用時可忽略)

第一步、創(chuàng)建ReusltUtils工具類

package com.code.walker.utils;
import com.code.walker.constant.ResultCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
 * @author ProsperousEnding-fhl
 * @create 2023-07-20-15:16
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ApiModel(value = "響應信息體")
public class  ResultUtils<T> implements Serializable {
    /**
     * 響應碼
     */
    @Getter
    @Setter
    @ApiModelProperty(value = "響應標記:成功標記=0,失敗1")
    private Integer code;
    /**
     * 響應信息
     */
    @Getter
    @Setter
    @ApiModelProperty(value = "響應信息")
    private String message;
    /**
     * 響應數據
     */
    @Getter
    @Setter
    @ApiModelProperty(value = "響應數據")
    private T data;
    @Getter
    @Setter
    @ApiModelProperty(value = "返回狀態(tài)")
    private boolean status;
    private ResultUtils(ResultCode resultCode,T data,boolean status){
        this.code = resultCode.getCode();
        this.message = resultCode.getMessage();
        this.data = data;
        this.status=status;
    }
    /**
     * 無數據成功返回
     *
     * @return
     */
    public static  <T>ResultUtils success(){
        return new ResultUtils<T>(ResultCode.SUCCESS.getCode(),ResultCode.SUCCESS.getMessage(),null,true);
    }
    /**
     * 帶數據返回
     */
    public static <T> ResultUtils success(T data){
        return new ResultUtils<T>(ResultCode.SUCCESS.getCode(),ResultCode.SUCCESS.getMessage(),data,true);
    }
    /**
     * 失敗
     */
    public static  <T>ResultUtils fail(){
        return new ResultUtils<T>(ResultCode.FAIL.getCode(),ResultCode.FAIL.getMessage(), null,false);
    }
    /**
     * 失敗
     */
    public static <T> ResultUtils fail(T data){
        return new ResultUtils<T>(ResultCode.FAIL.getCode(),ResultCode.FAIL.getMessage(), data,false);
    }
    @Override
    public String toString() {
        return "ResultUtils [code=" + code + ", message=" + message + ", data=" + data + "]";
    }
}

第二步 創(chuàng)建常用的報錯信息類

在日常開發(fā)中可不寫,將ReusltUtils中的ResultCode的代碼換成常量即可

注:主要是為了美觀以及修改方便,所以去單獨的封裝一個常量信息類

/**
 * @author ProsperousEnding-fhl
 * @create 2023-07-20-15:46
 */
@Getter
public enum ResultCode {
    /**
     * 成功
     */
    SUCCESS(200, "成功"),
    FAIL(1000, "失敗"),
    FAILED(400, "請求失敗"),
    NOT_FOUND(404, "未找到"),
    SERVER_ERROR(500, " 服務器內部出錯 "),
    /**
     * 錯誤參數
     */
    PARAM_IS_INVALID(1001, "參數無效"),
    PARAM_IS_BLANK(1002, "參為空"),
    PARAM_TYPE_ERROR(1003, "參數類型錯誤"),
    PARAM_NOT_COMPLETE(1004, "參數缺失"),
    /**
     * 用戶錯誤
     */
    USER_NOT_LOGIN_IN(2001, "用戶未登錄"),
    USER_LOGIN_ERROR(2002, "賬號不存在或者密碼錯誤"),
    USER_ACCOUNT_FORBIDDEN(2003, "賬戶被禁用"),
    USER_NOT_EXISTS(2004, "用戶不存在"),
    USER_HAS_EXISTED(2005, "用戶已存在");
    /**
     * 代碼
     */
    private final Integer code;
    /**
     * 信息
     */
    private final String message;
    private ResultCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}

第三步、調用方法以及返回樣式

調用方式:

使用時可以直接使用ResultUtils.方法的方式

public Result getUser() {
       User user1=new User();
       user1.setName("codeTalker")
        return Result.success(user1);
   }

返回樣式:

{
       "code": 200,
       "message": "成功",
       "data":{
           "name":"codeTalker"
       }
       "status": true
   }

以上就是基于Java編寫一個通用返回工具類Result的詳細內容,更多關于Java通用返回工具類的資料請關注腳本之家其它相關文章!

相關文章

  • Java實現文件的歸檔和解檔

    Java實現文件的歸檔和解檔

    這篇文章主要為大家詳細介紹了Java實現文件的歸檔和解檔,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 服務注冊不上nacos問題排查及解決過程

    服務注冊不上nacos問題排查及解決過程

    這篇文章主要介紹了服務注冊不上nacos問題排查及解決過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-10-10
  • SpringMVC攔截器配置及運行流程解析

    SpringMVC攔截器配置及運行流程解析

    這篇文章主要介紹了SpringMVC攔截器配置及運行流程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • redis.clients.jedis.exceptions.JedisMovedDataException異常解決

    redis.clients.jedis.exceptions.JedisMovedDataException異常解決

    redis.clients.jedis.exceptions.JedisMovedDataException?異常是在使用?Jedis?客戶端與?Redis?集群進行交互時發(fā)生的,下面就來介紹一下解決方法,感興趣的可以了解一下
    2024-05-05
  • 分享40個Java多線程問題小結

    分享40個Java多線程問題小結

    多個線程共存于同一JVM進程里面,所以共用相同的內存空間,較之多進程,多線程之間的通信更輕量級,本文給大家分享40個Java多線程問題小結 的相關資料,需要的朋友可以參考下
    2015-12-12
  • Java 中synchronize函數的實例詳解

    Java 中synchronize函數的實例詳解

    這篇文章主要介紹了Java 中synchronize函數的實例詳解的相關資料,希望通過本文能幫助到大家理解使用synchronize函數的使用方法,需要的朋友可以參考下
    2017-09-09
  • SpringBoot整合HikariCP數據庫連接池方式

    SpringBoot整合HikariCP數據庫連接池方式

    這篇文章主要介紹了SpringBoot整合HikariCP數據庫連接池方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 基于Nacos實現動態(tài)線程池的設計與實踐分享

    基于Nacos實現動態(tài)線程池的設計與實踐分享

    在分布式系統(tǒng)架構中,線程池是資源調度的重要工具,傳統(tǒng)固定參數的線程池在流量平穩(wěn)的場景下表現良好,但面對現代互聯網業(yè)務的潮汐流量特征時,往往會出現資源浪費或處理能力不足的問題,所以本文將介紹基于Nacos實現動態(tài)線程池的設計與實踐,需要的朋友可以參考下
    2025-05-05
  • Java學習-打印1-1000以內的水仙花數代碼實例

    Java學習-打印1-1000以內的水仙花數代碼實例

    這篇文章主要介紹了Java打印1-1000以內的水仙花數,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 教大家使用java實現頂一下踩一下功能

    教大家使用java實現頂一下踩一下功能

    這篇文章主要教大家如何使用java實現頂一下踩一下功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評論

沈阳市| 花垣县| 赤水市| 栖霞市| 周至县| 乌拉特中旗| 南陵县| 丽水市| 广丰县| 文成县| 鹿泉市| 安龙县| 嘉义县| 余姚市| 榆林市| 宾川县| 龙口市| 楚雄市| 湖州市| 乐亭县| 钟山县| 洮南市| 涞水县| 湖南省| 中方县| 成武县| 寿宁县| 五常市| 贵州省| 柳河县| 民勤县| 大埔区| 赣榆县| 苍南县| 新乐市| 眉山市| 万源市| 繁昌县| 海门市| 凭祥市| 页游|