java封装公共result结果返回类(代码片段)

小花皮猪 小花皮猪     2023-01-06     527

关键词:

前言

在使用Java开发接口请求中,我们需要对请求进行进行统一返回值,这时候我们自己封装一个统一的Result返回类,下面就介绍下我用的这种的这个类

当然,也可以使用第三方库封装的Result结果返回类,根据个人喜好选择即可。

封装公共Result类

首先需要创建一个Result类:

我的想法是:需要有一个请求成功的响应。一个请求失败的响应,如果请求
成功需要返回请求结果,如果请求失败则返回失败原因,且每一个请求都要带上当前时间戳,请求状态(200:成功,400:失败),是否成功(true成功 or false失败)

顺着这个思路,就写出了下面的代码:

如果你也有不同的思路和建议,欢迎评论留言

package com.wyh.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
/**
 * @Author 魏一鹤
 * @Description 公共Result返回类
 * @Date 23:19 2023/1/3
**/

public class Result 
    /**
     * 是否成功
    **/
    private Boolean isSuccess;
    /**
     * 错误信息
     **/
    private String errorMsg;
    /**
     * 请求状态 200-成功 400-失败
     **/
    private Integer status;
    /**
     * 当前时间戳
     **/
    private Long timestamp;
    /**
     * 返回结果
     **/
    private Object data;

    public static Result ok() 
        return new Result(true, null, 200, System.currentTimeMillis(),null);
    

    public static Result ok(Object data) 
        return new Result(true, null, 200,System.currentTimeMillis(),data);
    

    public static Result ok(List<?> data) 
        return new Result(true, null, 200,System.currentTimeMillis(),data);
    

    public static Result fail(String errorMsg) 
        return new Result(false, errorMsg, 400,System.currentTimeMillis(),null);
    


这样一个公共Result结果返回类就写好了,我们简单写两个接口分别测试下失败或者失败吧!

成功测试

首先测试下成功的响应:data里面就查出来的数据

数据有点多,我们把data合上看下整体结构:

是我们想要的返回格式

失败测试

接下来测试下请求失败的情况:如图我给方法新增了一个参数name,如果参数name为空,name就会请求失败并且返回错误信息

ps:判断参数是否为空应该放在service里面处理,我这里演示就懒得这么写了

参数为空的话,请求失败并且返回错误信息

当然如果name不为空,就是请求成功的:

总结

以上就是我自己写的一个Result结果返回类,对于现在的需求来说,完全是够用的,如果后面进行升级会再来更新

java封装http返回结果类(代码片段)

文章目录封装类如下HTTP状态码枚举类通用的结果返回类测试一下封装类如下HTTP状态码枚举类packagecom.yyl.model.common.enums;publicenumAppHttpCodeEnum//成功段固定为200SUCCESS(200,"操作成功"),//登录段1~50NEED_LOGIN(1,"需要登录后操作")... 查看详情

二次封装函数(代码片段)

题目描述实现函数partialUsingArguments,调用之后满足如下条件:1、返回一个函数result2、调用result之后,返回的结果与调用函数fn的结果一致3、fn的调用参数为partialUsingArguments的第一个参数之后的全部参数以及result的调用参数代码1f... 查看详情

记一次封装接口返回值问题(代码片段)

因为之前的封装都是一个Result然后三个成员code、msg和data,所以无论是否返回数据,返回结果都会有data,于是我为了完整,就做了如下修改:Result.java:importlombok.Data;/***统一返回格式*/publicclassResult/***成功&... 查看详情

pythonflaskresponse返回结果封装工具类(代码片段)

✨工具类介绍封装后端获取到的数据在blueprints中可以直接通过returnresponse(code=200,data=data,message=\'登陆成功\')形式返回给前端✨简单封装工具类fromflaskimportjsonifydefresponse(code=200,message=\'\',data=None):"""自定义返回结果的封装函数:paramco... 查看详情

result类,公共返回类创建

packagecom.deng.hongbao.base;/***先构建一个格式确定下来的Result类*然后构建一个常用的枚举类,内容可以根据项目自定义,查看ResultEnum*然后就是写一个返回的工具类ResultUtil*最后就是应用了,在Controller里边调用ResultUtil就可以了**还要... 查看详情

instanceof的用法(代码片段)

...象是否是这个特定类或者是它的子类的一个实例。用法:result=objectinstanceofclass参数:Result:布尔类型。Object:必选项。任意对象表达式。Class:必选项。任意已定义的对象类。说明:如果object是class的一个实例,则instanceof运算符... 查看详情

序列化组件二(代码片段)

一、Response二次封装我们想要对响应类进行自定义,以后就用我们自己自定义的响应类#新建response.py文件fromrest_framework.responseimportResponseclassAPIResponse(Response):def__init__(self,status=0,msg=‘ok‘,http_status=None,headers=None,exception=False,**kwargs):... 查看详情

googleguava包的listenablefuture解析(代码片段)

...到ListenableFuture 编程比较容易。Guava提供的通用公共类封装了公共的操作方方法,不需要提供Future和ListenableFuture的扩展方法。接口传统JDK中的Future通过异步的方式计算返回结果:在多线程运算中可能或者可能在没有结束返回结... 查看详情

laravel通过request表单验证类返回封装http状态码(代码片段)

...ailedValidation`方法3、创建一个控制器4、路由访问预览结果封装http状态码1、新建http状态码类2、新建Http状态码提示信息3、新建自定义Http状态码修改requestController类的FormRequest方法创建request表单验证类1、创建表单验证类phpartisanmake... 查看详情

laravel通过request表单验证类返回封装http状态码(代码片段)

...ailedValidation`方法3、创建一个控制器4、路由访问预览结果封装http状态码1、新建http状态码类2、新建Http状态码提示信息3、新建自定义Http状态码修改requestController类的FormRequest方法创建request表单验证类1、创建表单验证类phpartisanmake... 查看详情

2021-12-03wpf上位机107-西门子s7协议通信代码的封装(代码片段)

文章目录一、pandas是什么?二、使用步骤1.base基类封装2.Result返回结果3.S7Net封装4.使用总结一、pandas是什么?示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.base基类封装publicenumAreaTyp... 查看详情

java使用mybatis调用函数返回一个游标结果集(代码片段)

...orEntity>list=(List<HighgoFunOneRefcursorEntity>)map.get("result");returnlist;2.dao层@MapperpublicinterfaceHighgoFunOneRefcursorDaoextendsBaseMapper<HighgoFunOneRefcursorE 查看详情

后端响应结果工具类result(代码片段)

后端响应结果工具类Result结果工具类,用于后端给前端的响应。好处:格式统一,使用方便;使用泛型,包容各种类型,允许传入自定义code和message。也可以快速响应成功或失败packagecom.demo.document.common;impor... 查看详情

项目封装:统一结果,统一异常,统一日志(代码片段)

   统一结果返回目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。统一结果的一般形式是否响应成功;响应状态码;状态码描述;响应数据其他标识符结... 查看详情

springboot统一结果封装(代码片段)

ResultVo,返回结果对象@DatapublicclassResultVo<T>privateIntegercode;privateStringmessage;privateTdata;ResultVoUtil,封装返回结果publicclassResultVoUtilpublicstatic<T>ResultVo<T>sucess(Tdata)Re 查看详情

java三大特性—封装(代码片段)

封装概述概述面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必... 查看详情

java对jdbc操作结果简单的映射封装

1.对jdbc做一个简单的封装,select可以返回一个javabean对象,而不是resultset。主要用了反射。这是我之前写的代码,做了简单的修改。  实现功能:a.对数据库的基本操作增删改查       b.对查询的单条记录返回一个指定... 查看详情

观察测试失败信息(代码片段)

...进一步信息。该框架还提供了test_tools::assertion_result,它封装了一个错误信息,但这似乎只用于评估前置条件。(我以为这个类型会是参数到unit_test::test_observer::assertion_result).日志输出类似乎提供了更多关于测试结果的信息。这些... 查看详情