电商项目之响应编码的枚举类 和 通用的响应对象 和 常量类

2023-11-11

/**
 * x响应编码的枚举类
 */
public enum ResponseCode {

    SUCCESS(0,"SUCCESS"),
    ERROR(1,"ERROR"),
    ILLEGAL_AGRUMENT(2,"ILLEGAL_AGRUMENT"),
    NEED_LOGIN(10,"NEED_LOGIN");

    private final int code;
    private final String desc;

    ResponseCode(int code,String desc){
        this.code=code;
        this.desc=desc;
    }

    public int getCode(){
        return code;
    }

    public String getDesc(){
        return  desc;
    }
}

 

package com.lpy.mall.common;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import java.io.Serializable;
/**
 * t通用的数据端响应对象
 */
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)//保证序列化json的时候,如果是null的对象,key也会消失
public class ServerResponse<T> implements Serializable {

    private  int status;
    private String msg;
    private T data;

    //这几个不同的私有构造器,让封装的public方法调用起来比较优雅,也比较简明,还比较通用
    private ServerResponse(int status){
        this.status=status;
    }
    private ServerResponse(int status,String msg){
        this.status=status;
        this.msg=msg;
    }
    private ServerResponse(int status,T data){
        this.status=status;
        this.data=data;
    }
    private ServerResponse(int status,String msg,T data){
        this.status=status;
        this.msg=msg;
        this.data=data;
    }
    //这方法是不是成功的响应
    @JsonIgnore //使之不在json序列化结果当中
    public boolean isSuccess(){
        return this.status == ResponseCode.SUCCESS.getCode();//为0表示成功
    }

    public int getStatus(){
        return status;
    }
    public T getData(){
        return data;
    }
    public String getMsg(){
        return msg;
    }
    //成功
    //调用返回一个status,第一个T表示将静态的这个方法定义成泛型方法
    public static <T> ServerResponse<T> createBySuccess(){
        return new ServerResponse<T>(ResponseCode.SUCCESS.getCode());
    }
    public static <T> ServerResponse<T> createBySuccessMessage(String msg){
        return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg);
    }
   public static <T> ServerResponse<T> createBySuccess(T data){
        return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),data);
    }
    public static <T> ServerResponse<T> createBySuccess(String msg,T data){
        return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg,data);
    }

    //失败
    public static <T> ServerResponse<T> createByError(){
        return new ServerResponse<T>(ResponseCode.ERROR.getCode(),ResponseCode.ERROR.getDesc());
    }
    public static <T> ServerResponse<T> createByErrorMessage(String errorMessage){
        return new ServerResponse<T>(ResponseCode.ERROR.getCode(),errorMessage);
    }
    public static <T> ServerResponse<T> createByErrorCodeMessage(int errorCode,String errorMessage){
        return new ServerResponse<T>(errorCode,errorMessage);
    }


}

 

package com.lpy.mall.common;

public class Const {

    public static final String CURRENT_USER="currentUser";

}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

电商项目之响应编码的枚举类 和 通用的响应对象 和 常量类 的相关文章

  • 如何将本机库链接到 IntelliJ 中的 jar?

    我正在尝试在 IntelliJ 中设置 OpenCV 但是我一直在弄清楚如何告诉 IntelliJ 在哪里可以找到本机库位置 在 Eclipse 中 添加 jar 后 您可以在 Build Config 屏幕中设置 Native 库的位置
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • Junit:如何测试从属性文件读取属性的方法

    嗨 我有课ReadProperty其中有一个方法ReadPropertyFile返回类型的Myclass从属性文件读取参数值并返回Myclass目的 我需要帮助来测试ReadPropertyFile方法与JUnit 如果可能的话使用模拟文件
  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 使用反射覆盖最终静态字段是否有限制?

    在我的一些单元测试中 我在最终静态字段上的反射中遇到了奇怪的行为 下面是说明我的问题的示例 我有一个基本的 Singleton 类 其中包含一个 Integer public class BasicHolder private static
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • Shader中的一些专业用语的解释

    Shader中的一些专业用语的解释 此文章收录于我主页顶置的 Unity Shader入门精要文章目录 点击即可跳转 一 什么是OPenGL DirectX 简单的来说 就是图像应用编程的接口 这些接口用语渲染二维和三维的图形 架起了上层应
  • 【毕业设计】基于单片机的桌面炫酷律动灯条 -物联网 嵌入式 单片机

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 5 部分核心代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉
  • 公办幼儿园教师要涨工资了???

    终于盼到这一天了 已在市区公办园上班3年多却一直没有编制的季馨 听说从明年开始要涨工资了 高兴坏了 记者从日前召开的全市学前教育工作会议上获悉 从2012年起 确保市区公办幼儿园中具有国家教师资格的聘用教师最低工资水平不得低于当地最低工资标
  • 蓝桥杯 问题 1083: Hello, world!(C/C++ vector实现)

    问题 1083 Hello world 时间限制 1Sec 内存限制 64MB 提交 944 解决 476 题目描述 This is the first problem for test Since all we know the ASCI
  • 《一周搞定模电》—功率放大器

    系列文章目录 文章目录 系列文章目录 前言 一 功率放大电路三极管的工作模式 二 功率放大器内部结构 前言 功率放大器指一种以输出较大功率为目的的放大电路 特点 输出电压大 输出电流大 放大电路的输出电阻与负载匹配 电压放大器和功率放大器的
  • 三子棋创作(c语言)

    我们写三子棋之前首先要思考一下三子棋的实现逻辑 一 1 游戏菜单 是选择开始游戏还是结束游戏 2 打印一个棋盘出来 并且进行棋盘的初始化 即没有旗子的棋盘 3 玩家下棋 用 表示 4 电脑下棋 用 表示 5 判断胜负 电脑和玩家下完棋之后
  • java使用lambda表达式对List集合进行操作(Java8)

    import java util ArrayList import java util List import java util function Predicate import java util stream Collectors
  • token会被截取吗_OAuth2 为什么要用 code 换 token

    先简单介绍下 OAuth2 再用一个例子说明下为什么要用 code 换 token OAuth2 简单介绍 4 个角色 resource owner 可以授权访问被保护资源的实体 如果是人的话 即是最终用户 resource server
  • h2数据库优缺点

    h2数据库是嵌入式的内存型数据库 也可以存储在磁盘上 效率比通过socket调用的redis执行的要快 纯java编写就一个jar h2数据库的缺点是不适合大数据量高并发的操作
  • centos 安装防火墙,并开启对应端口号

    1 查看防火墙状态 命令 systemctl status firewalld service 开启防火墙时 提示没有安装防火墙 root localhost systemctl start firewalld service Failed
  • 关于锁的面试题

    1 synchronized和ReentranctLock有什么区别 底层实现 synchronized是jvm层面的锁 通过monitor对象完成 对象只能在同步代码块和同步方法中调用wait notify方法 ReentranctLoc
  • Java多线程——线程的sleep方法、中断线程的睡眠

    一 关于Sleep方法的应用 public static void sleep long millis throws InterruptedException 让当前正在执行的线程进入休眠 暂时停止执行 指定的毫秒数 静态方法 Thread
  • 数字媒体技术专业方向

    现在是大三下 这篇文章是大一时 整理知乎青岛大学 某学姐的高赞回答 咱这个专业 你可以根据你的学校进行选择 学校好 按部就班的学 以下几个方向都走得通 学校不好 很普通 那么大概率也不学了什么 普通本科院校的学风啊 教学质量啊 与其都学个皮
  • C++11/14/17中提供的mutex系列区别

    C 11 14 17中提供的mutex系列类型如下 互斥量 C 版本 作用 mutex C 11 基本的互斥量 timed mutex C 11 timed mutex带超时功能 在规定的等待时间内 没有获取锁 线程不会一直阻塞 代码会继续
  • 监听小程序切换到后台

    注意要写在app js里面 onHide wx onAppHide
  • 图像处理学习笔记(三):基于匹配的目标识别

    Matlab图像处理学习笔记 三 基于匹配的目标识别 如果要在一幅图像中寻找已知物体 最常用且最简单的方法之一就是匹配 在目标识别的方法中 匹配属于基于决策理论方法的识别 匹配方法可以是最小距离分类器 相关匹配 本文code是基于最小距离分
  • 三进制计算机_数学糖果S10:N进制

    不同进制各有各的特点 二进制更为基础 十进制匹配人体手指数量 十二进制之基数12所含因数多 十六进制之基数16易被多次二分 六十进制结合了五进制与十二进制 世界可能是由概率控制的 现实世界中十进制被选中 计算机世界中二进制被选中 N 进 制
  • PyTorch: 训练分类CIFAR10

    usr bin env python coding utf 8 Author zengxiaohui Datatime 8 13 2021 11 20 AM File train cifar10 import os import torch
  • 数据结构进阶篇,回文字符串专题

    5 最长回文子串 题目 给你一个字符串 s 找到 s 中最长的回文子串 示例 输入 s babad 输出 bab 解题思路 首先 判断一个字符串是否为回文字符串 可以采用 双指针 的方式来处理 需要消耗 O n 的时间复杂度 如果使用首尾向
  • 电商项目之响应编码的枚举类 和 通用的响应对象 和 常量类

    x响应编码的枚举类 public enum ResponseCode SUCCESS 0 SUCCESS ERROR 1 ERROR ILLEGAL AGRUMENT 2 ILLEGAL AGRUMENT NEED LOGIN 10 NEE