@RequestBody 中传Enum类型的
时间: 2023-11-14 18:09:51 浏览: 62
可以使用 @RequestParam 或 @PathVariable 注解来传递 Enum 类型的参数。例如:
```
@GetMapping("/test")
public void test(@RequestParam MyEnum myEnum) {
// do something
}
```
或者
```
@GetMapping("/test/{myEnum}")
public void test(@PathVariable MyEnum myEnum) {
// do something
}
```
其中,MyEnum 是你定义的枚举类型。
相关问题
@RequestBody枚举类型怎么传惨
在使用@RequestBody接收请求参数时,如果参数是枚举类型,可以直接传入枚举值的字符串表示。Spring会自动将其转换为对应的枚举类型。
例如,定义一个枚举类型:
```
public enum Gender {
MALE,
FEMALE
}
```
在Controller中接收请求参数:
```
@PostMapping("/user")
public void addUser(@RequestBody User user) {
// ...
}
```
User类中包含Gender类型的属性:
```
public class User {
private String name;
private Gender gender;
// ...
}
```
请求参数可以这样传递:
```
{
"name": "张三",
"gender": "MALE"
}
```
Spring会自动将"MALE"转换为Gender.MALE。
java enum类型
Java的enum类型是一种特殊的类型,它可以用来定义一组有限的常量。enum类型是Java语言中的一个关键字,可以用来定义枚举类型。每个enum常量都是enum类型的一个实例。enum类型可以用来定义枚举类型,例如月份、星期、颜色等。
例如:
```
enum Season {
SPRING, SUMMER, FALL, WINTER
}
```
上面代码定义了一个枚举类型Season,它有4个枚举常量:SPRING、SUMMER、FALL和WINTER。
enum类型也可以带有构造函数和方法,带有构造函数和方法的enum类型需要利用关键字enum定义
```
enum Color {
RED("红色", 1), GREEN("绿色", 2), BLUE("蓝色", 3);
private String name;
private int index;
private Color(String name, int index) {
this.name = name;
this.index = index;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
```
上面代码定义了一个枚举类型Color,它有3个枚举常量:RED、GREEN和BLUE。带有构造函数和方法的enum类型可以更方便的存储和获取枚举常量的信息。
总结:Java的enum类型是一种特殊的类型,它可以用来定义一组有限的常量,可以避免使用常