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

基于Java編寫(xiě)一個(gè)通用返回工具類Result

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

前言

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

第一步、創(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 = "響應(yīng)信息體")
public class  ResultUtils<T> implements Serializable {
    /**
     * 響應(yīng)碼
     */
    @Getter
    @Setter
    @ApiModelProperty(value = "響應(yīng)標(biāo)記:成功標(biāo)記=0,失敗1")
    private Integer code;
    /**
     * 響應(yīng)信息
     */
    @Getter
    @Setter
    @ApiModelProperty(value = "響應(yīng)信息")
    private String message;
    /**
     * 響應(yīng)數(shù)據(jù)
     */
    @Getter
    @Setter
    @ApiModelProperty(value = "響應(yīng)數(shù)據(jù)")
    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;
    }
    /**
     * 無(wú)數(shù)據(jù)成功返回
     *
     * @return
     */
    public static  <T>ResultUtils success(){
        return new ResultUtils<T>(ResultCode.SUCCESS.getCode(),ResultCode.SUCCESS.getMessage(),null,true);
    }
    /**
     * 帶數(shù)據(jù)返回
     */
    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)建常用的報(bào)錯(cuò)信息類

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

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

/**
 * @author ProsperousEnding-fhl
 * @create 2023-07-20-15:46
 */
@Getter
public enum ResultCode {
    /**
     * 成功
     */
    SUCCESS(200, "成功"),
    FAIL(1000, "失敗"),
    FAILED(400, "請(qǐng)求失敗"),
    NOT_FOUND(404, "未找到"),
    SERVER_ERROR(500, " 服務(wù)器內(nèi)部出錯(cuò) "),
    /**
     * 錯(cuò)誤參數(shù)
     */
    PARAM_IS_INVALID(1001, "參數(shù)無(wú)效"),
    PARAM_IS_BLANK(1002, "參為空"),
    PARAM_TYPE_ERROR(1003, "參數(shù)類型錯(cuò)誤"),
    PARAM_NOT_COMPLETE(1004, "參數(shù)缺失"),
    /**
     * 用戶錯(cuò)誤
     */
    USER_NOT_LOGIN_IN(2001, "用戶未登錄"),
    USER_LOGIN_ERROR(2002, "賬號(hào)不存在或者密碼錯(cuò)誤"),
    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;
    }
}

第三步、調(diào)用方法以及返回樣式

調(diào)用方式:

使用時(shí)可以直接使用ResultUtils.方法的方式

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

返回樣式:

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

以上就是基于Java編寫(xiě)一個(gè)通用返回工具類Result的詳細(xì)內(nèi)容,更多關(guān)于Java通用返回工具類的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java數(shù)組實(shí)現(xiàn)隊(duì)列及環(huán)形隊(duì)列實(shí)現(xiàn)過(guò)程解析

    java數(shù)組實(shí)現(xiàn)隊(duì)列及環(huán)形隊(duì)列實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了java數(shù)組實(shí)現(xiàn)隊(duì)列及環(huán)形隊(duì)列實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot項(xiàng)目啟動(dòng)數(shù)據(jù)加載內(nèi)存的三種方法

    SpringBoot項(xiàng)目啟動(dòng)數(shù)據(jù)加載內(nèi)存的三種方法

    一般來(lái)說(shuō),SpringBoot工程環(huán)境配置放在properties文件中,啟動(dòng)的時(shí)候?qū)⒐こ讨械膒roperties/yaml文件的配置項(xiàng)加載到內(nèi)存中,本文給大家介紹了SpringBoot項(xiàng)目啟動(dòng)數(shù)據(jù)加載內(nèi)存中的三種方法,需要的朋友可以參考下
    2024-04-04
  • Springboot 整合 Dubbo/ZooKeeper 實(shí)現(xiàn) SOA 案例解析

    Springboot 整合 Dubbo/ZooKeeper 實(shí)現(xiàn) SOA 案例解析

    這篇文章主要介紹了Springboot 整合 Dubbo/ZooKeeper 詳解 SOA 案例,需要的朋友可以參考下
    2017-11-11
  • JAVA判斷空值方法原理解析

    JAVA判斷空值方法原理解析

    這篇文章主要介紹了JAVA判斷空值方法原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 一文詳解Java攔截器與過(guò)濾器的使用

    一文詳解Java攔截器與過(guò)濾器的使用

    這篇文章主要為大家詳細(xì)介紹了Java中攔截器與過(guò)濾器的使用與區(qū)別,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定參考價(jià)值,需要的可以參考一下
    2022-04-04
  • java 分布式與集群的區(qū)別和聯(lián)系

    java 分布式與集群的區(qū)別和聯(lián)系

    本文主要介紹了java分布式與集群的區(qū)別和聯(lián)系,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • SpringBoot+Netty實(shí)現(xiàn)簡(jiǎn)單聊天室的示例代碼

    SpringBoot+Netty實(shí)現(xiàn)簡(jiǎn)單聊天室的示例代碼

    這篇文章主要介紹了如何利用SpringBoot Netty實(shí)現(xiàn)簡(jiǎn)單聊天室,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)SpringBoot有一定幫助,感興趣的同學(xué)可以了解一下
    2022-02-02
  • Jmeter使用接口傳遞數(shù)據(jù)過(guò)程圖解

    Jmeter使用接口傳遞數(shù)據(jù)過(guò)程圖解

    這篇文章主要介紹了Jmeter使用接口傳遞數(shù)據(jù)過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java源碼解析之LinkedHashMap

    Java源碼解析之LinkedHashMap

    LinkedHashMap是HashMap的子類,所以也具備HashMap的諸多特性.不同的是,LinkedHashMap還維護(hù)了一個(gè)雙向鏈表,以保證通過(guò)Iterator遍歷時(shí)順序與插入順序一致.除此之外,它還支持Access Order, ,需要的朋友可以參考下
    2021-05-05
  • SpringBoot中Json工具類的實(shí)現(xiàn)

    SpringBoot中Json工具類的實(shí)現(xiàn)

    本文介紹在Java項(xiàng)目中實(shí)現(xiàn)一個(gè)JSON工具類,支持對(duì)象與JSON字符串之間的轉(zhuǎn)換,并提供依賴和代碼示例便于直接應(yīng)用,感興趣的可以了解一下
    2024-10-10

最新評(píng)論