java中枚举类将属性传值前台(枚举类前台接收问题)

最近做的这个项目中,用到了大量的枚举类,今天来记录一下我遇到的问题,如果能帮到大家就更好了!

1.枚举类如何转为json(在一个类的属性中,这个枚举类属性如何直接使用在接收参数和向数据库传递参数时需要自动转化)

这里需要用到两个注解:

@JSONType(serializeEnumAsJavaBean = true)(import com.alibaba.fastjson.annotation.JSONType;)
@JsonFormat(shape = JsonFormat.Shape.OBJECT)(import com.fasterxml.jackson.annotation.JsonFormat;)

2.前端向后端传递枚举类中的value时,应注意以下几点:

A)枚举类中value以0开始,依次增加。

B)枚举类中以value的值作为顺序,依次排列。

如果不以上述条件作为依据,会出现如下bug:

我原本的枚举类是这么写的,前端给我传value的时候,传的是1,但是我后台接收到的参数是enable(0,"已启用"),当传0的时候,后台接收到的参数为disabled(1,"已停用")。

因为枚举类在接收值的时候看的是ordinal这个值。一定要让这个值跟value相等,不然就会出现bug。ordinal记录的是枚举类中的属性的顺序,并根据这个顺序找对应的值。所以如果你不注意上述条件的话,也可以直接让前端把枚举类中的值对应的变量传进来。例如我这里就是直接给我传:disabled或者enable。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值