java中,如枚举属性:APPROVE(2,"test"),怎么让前端传APPROVE,2,test,都可以。后端存入数据库的只是2
时间: 2023-10-27 10:04:28 浏览: 35
可以在枚举类中添加一个静态方法,根据传入的参数获取对应的枚举值。例如:
```java
public enum YourEnum {
APPROVE(2, "test"),
// 其他枚举值
private int code;
private String desc;
YourEnum(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
// 通过code获取对应的枚举值
public static YourEnum getByCode(int code) {
for (YourEnum e : values()) {
if (e.getCode() == code) {
return e;
}
}
return null;
}
}
```
在前端传递参数时,可以传递枚举值的名称或者code值,然后在后端接口中调用`getByCode`方法获取对应的枚举值。例如:
```java
// 前端传递name
YourEnum e1 = YourEnum.valueOf(name);
// 前端传递code
YourEnum e2 = YourEnum.getByCode(code);
```