参考文档

枚举

public enum CouponType {

    PLATFORM("平台优惠券"), NEWCOMER("新人专享优惠券"), INVITE("邀请奖励优惠券"), DESIGNATED_USER("特定用户优惠券");

    private final String info;

    CouponType(String info) {
this.info = info;
} public String getInfo() {
return info;
} @Override
public String toString() {
return this.info;
}
}

直接返回JSON

couponsType:"PLATFORM"

加注解返回键值对

  • 枚举类上加 @JsonFormat(shape = JsonFormat.Shape.OBJECT)

couponsType: {info: "平台优惠券"}

自定义序列化

public class CouponTypeSerializer extends StdSerializer {
public CouponTypeSerializer() {
super(CouponType.class);
} public CouponTypeSerializer(Class t) {
super(t);
} @Override
public void serialize(Object couponOperation, JsonGenerator generator, SerializerProvider serializerProvider) throws IOException {
CouponType c = (CouponType) couponOperation;
generator.writeStartObject();
generator.writeFieldName("name");
generator.writeString(c.name());
generator.writeFieldName("info");
generator.writeString(c.getInfo());
generator.writeEndObject();
}
}
  • 枚举类上加 @JsonSerialize(using = CouponTypeSerializer.class)

couponsType: {name: "PLATFORM", info: "平台优惠券"}

如果页面需要返回name,在定义的时候添加name字段最方便,配合@JsonFormat(shape = JsonFormat.Shape.OBJECT)

比如:

    PLATFORM("平台优惠券","PLATFORM") ...

    private final String info;
private final String name; CouponType(String info,String name) {
this.info = info;
this.name=name;
}

enum 持久化

enum 类型默认是是存储ORDINAL (enum的顺序:0,1,2)

为了代码健壮,建议保存String(enum的name属性)

   /**
* 优惠券类型
*/
@Enumerated(EnumType.STRING)
private CouponType couponsType;

java中的Enum在@RestController(@ResponseBody) 注解下返回的表现的更多相关文章

  1. 深入掌握Java中的enum

    对于要在程序中要表示有限种类的某事物,一般我们可以采用两种方式,一是使用:public static final String 常量:二是使用enum来表示.一般而言前者简单,但是不能够很好的提供更多 ...

  2. Java中删除文件、删除目录及目录下所有文件(转)

    原文链接:Java中删除文件.删除目录及目录下所有文件 知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,具体代码示例如下: ...

  3. java中把文件拷贝到指定目录下最简单几种方法

    java中把文件拷贝到指定目录下最简单几种方法   String savePath = "D:/file";// 文件保存到d盘的file目录下 File savefile = n ...

  4. 关于Java中枚举Enum的深入剖析

    在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定.Java也不例外.Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析. 什么是Enum Enum是自Java ...

  5. Java中的Enum的使用与分析

    使用name()方法和valueOf(String)方法可以在枚举类型对象和字符串之间方便得转换.如果valueOf(String)方法的参数不是该枚举类型合法的字符串,则会抛出IllegalArgu ...

  6. 如何使用Java中的Enum类

    Java1.5 中出现了枚举类型.当一个值都在一个固定的范围内变化,那就可以使用 enum 类型来定义.比如说,一周有七天,一年有四季. 没有枚举类的时候,我们用常量来定义一组范围值的: public ...

  7. C++和Java中枚举enum的用法

    在C++和java中都有枚举enum这个关键字,但是它们之间又不太一样.对于C++来说,枚举是一系列命名了的整型常量,而且从枚举值转化为对应的整型值是在内部进行的.而对于Java来说,枚举更像一个类的 ...

  8. Java中的泛型、枚举和注解

    1.泛型: 一.为什么要有泛型(Generic)?1.解决元素存储的安全性问题任何类型都可以添加到集合中:类型不安全2.解决获取数据元素时,需要类型强转的问题读取出来的对象需要强转:繁琐可能有Clas ...

  9. Java中的Enum枚举类型总结

    废话不多说,直接上代码,该例子来源于:http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html public enum Planet { ...

随机推荐

  1. eslint 检查单个文件的错误

    问题: 批量检查时,没有针对性,想针对单个文件进行检查 解决办法:./node_modules/.bin/eslint  your file

  2. RESTful 介绍

    什么是RESTful?一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务端交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. ...

  3. 小程序onLaunch事件的坑

    记一个小程序踩过的坑 小程序项目中app.js里面定义了globalData,即全局变量,里面定义了一个token字段 需求是这样的,每次进入小程序的时候需要检验该token有没有,没有就请求后台获取 ...

  4. Django路由系统-URLconf配置、正则表达式简述

    Django路由系统 1.11版本官方文档 ​ URL配置就像是Django项目的目录,它的本质是URL与URL调用的函数之间的映射表,Django会根据URL配置,在遇到一个URL时,就去执行相应的 ...

  5. P1097 【统计数字】

    超可爱的题目链接 这题是真不难,就是刚开始被自己的智商坑了一次... 用数组的常规做法实在是有点不切实际..数据大了. 所以用数组读入,再用循坏处理. 附上代码: #include<set> ...

  6. PI膜应变片试样制备

    一.选取基板 1.喷涂在玻璃基板上PI膜 2.正面用记号笔标记PI膜工艺参数——转速.厚度 3.玻璃板背面为PI膜 二.贴防护膜 1.事先画好二维图,以dxf格式存放 2.裁减合适的大小,并将其贴在打 ...

  7. Leetcode之动态规划(DP)专题-712. 两个字符串的最小ASCII删除和(Minimum ASCII Delete Sum for Two Strings)

    Leetcode之动态规划(DP)专题-712. 两个字符串的最小ASCII删除和(Minimum ASCII Delete Sum for Two Strings) 给定两个字符串s1, s2,找到 ...

  8. Microsoft Visual Studio 中工具箱不显示DevExpress控件的解决办法

    我安装的是DevExpress15.2 1.找到安装目录D:\Program Files\DevExpress15.2\Components\Tools, 运行控制台 内容换成cmd 2.执行下面的命 ...

  9. 【神经网络与深度学习】【C/C++】使用blas做矩阵乘法

    使用blas做矩阵乘法   #define min(x,y) (((x) < (y)) ? (x) : (y)) #include <stdio.h> #include <st ...

  10. 【DSP开发】C6000非多核非KeyStone系列DSP中断系统

    C6000系列DSP的中断系统 上一篇介绍了C6455的GPIO系统,最后把GPIO4配置成了中断/事件模式,本文将介绍C6455的中断系统,介绍完基本概念后,给出把GPIO4映射到INT4的代码. ...