关键词:
前言
在使用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).日志输出类似乎提供了更多关于测试结果的信息。这些... 查看详情