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<?> 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里面就查出来的数据

1.png

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

2.png

是我们想要的返回格式

失败测试


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

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

3.png

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

4.png

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

5.png

总结


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



相关文章
|
1天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
1天前
|
Java
Java 封装
5月更文挑战第5天
|
1天前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
|
2天前
|
Java 编译器 开发者
Java一分钟之-继承:复用与扩展类的特性
【5月更文挑战第9天】本文探讨了Java中的继承机制,通过实例展示了如何使用`extends`创建子类继承父类的属性和方法。文章列举了常见问题和易错点,如构造器调用、方法覆盖、访问权限和类型转换,并提供了解决方案。建议深入理解继承原理,谨慎设计类结构,利用抽象类和接口以提高代码复用和扩展性。正确应用继承能构建更清晰、灵活的代码结构,提升面向对象设计能力。
9 0
|
2天前
|
安全 Java
Java一分钟之-访问修饰符与封装原则
【5月更文挑战第9天】本文介绍了Java中的访问修饰符(public, protected, default, private)及其在封装原则中的应用。理解这些修饰符有助于控制类、接口、方法和变量的访问权限,防止过度暴露内部细节。遵循最小权限原则,合理设计接口,并谨慎使用protected,能有效避免常见问题,提高代码的健壮性和安全性。封装是关键,通过使用private修饰成员变量并提供公共访问方式,可减少耦合,增强系统的可维护性。
11 0
|
2天前
|
Java
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
11 0
|
2天前
|
Java API 调度
【Java多线程】Thread类的基本用法
【Java多线程】Thread类的基本用法
6 0
|
2天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
9 0
|
3天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
26 1
|
4天前
|
Java 开发者
在Java中,接口和超类在多态性中扮演着重要的角色
Java中的接口和超类支持多态性,接口作为规范,允许多继承和回调机制;超类提供基类,实现代码重用和方法重写,两者共同促进代码的灵活性和可维护性。
26 10