前端传值(枚举类接收问题)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangfengaiCQ/article/details/82657926

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

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。

展开阅读全文

没有更多推荐了,返回首页