Java封装公共Result结果返回类的实现
作者:小花皮猪 发布时间:2023-06-17 08:47:47
标签:Java,Result,返回类
前言
在使用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
这样一个公共Result结果返回类就写好了,我们简单写两个接口分别测试下失败或者失败吧!
成功测试
首先测试下成功的响应:data里面就查出来的数据
数据有点多,我们把data合上看下整体结构:
是我们想要的返回格式
失败测试
接下来测试下请求失败的情况:如图我给方法新增了一个参数name,如果参数name为空,name就会请求失败并且返回错误信息
ps:判断参数是否为空应该放在service里面处理,我这里演示就懒得这么写了
参数为空的话,请求失败并且返回错误信息
当然如果name不为空,就是请求成功的:
来源:https://blog.csdn.net/weixin_46713508/article/details/128569608
0
投稿
猜你喜欢
- [LeetCode] 205. Isomorphic Strings 同构字符串Given two strings s
- 本文实例为大家分享了flutter实现appbar下选项卡切换的具体代码,供大家参考,具体内容如下TabBar 、Tab、TabBarVie
- 目录效果展示剪裁 WidgetClipRRect(圆角矩形剪裁)其他属性其他形状剪裁ClipOval(椭圆剪裁)其他属性ClipRect(矩
- 背景后台系统需要接入 企业微信登入,满足企业员工快速登入系统流程图简单代码说明自定义一套 springsecurity 认证逻辑主要就是 根
- forward_list 概述forward_list 是 C++ 11 新增的容器,它的实现为单链表。forward_list 是支持从容
- 简介对于一个APP来说,肯定会有一个AppBar,这个AppBar一般包含了APP的导航信息等。虽然我们可以用一个固定的组件来做为AppBa
- .c 源程序 ----- 编译 ----- 链接 ---- exe ----运行 -------->程序翻译环境和执行环境翻译环境:源
- 近日于LeetCode看题遇1114 按序打印,获悉一解法使用了Semaphore,顺势研究,记心得于此。此解视Semaphore为锁,以保
- 问题:在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码。原因其实很简单,就是系统的编码和程序的编码采用了不
- 前言通过此篇文章,你将了解到:Flutter windows和Android桌面应用屏幕适配的解决方案;屏幕适配的相关知识和原理;flutt
- [LeetCode] 159. Longest Substring with At Most Two Distinct Characters
- 一个是新浪微博,腾讯微博的分享按钮,一个是他们的绑定情况(其实就是是否授权)。点击微博分享中新浪或腾讯按钮,就进行相应的授权(若没授权),显
- 一、先看下项目结构CodeGenerator:生成器主类resources下的mapper.java.vm:一个模板类,用以在生成dao层时
- 本Demo为练手小项目,主要是熟悉目前主流APP的架构模式.此项目中采用MVC设计模式,纯代码和少许XIB方式实现.主要实现了朋友圈功能和摇
- 目录简介官方示例错误示例解决方法一:Scaffold的子组件通过Builder构建解决方法二:使用GlobalKey存储ScaffoldSt
- 上一篇Flutter页面路由及404路由拦截实现介绍了使用路由来实现页面的跳转,从而简化页面之间的耦合,并可以实现路由拦截。在实际开发中,我
- 前言开发中,免不了会用到多边形、多角星等图案,比较常用的多边形比如雷达图、多角星比如评价星级的五角星等,本篇文章就使用Flutter绘制封装
- 一、前言在Spring中,事务有两种实现方式:编程式事务管理: 编程式事务管理使用TransactionTemplate可实现更细
- Lambda 表达式Lambda 表达式是现代 C++ 中最重要的特性之一,而 Lambda 表达式,实际上就是提供了一个类似匿名函数的特性
- idea激活码破解教程亲测试以下版本成功激活附激活教程。idea下载链接(对应版本号下载):https://www.jetbrains.co