Как передать переменную enum в тело запроса post spring?

Пользователь

от stanford_mosciski , в категории: Java , месяц назад

Как передать переменную enum в тело запроса post spring?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от sylvester , 16 дней назад

@stanford_mosciski 

Для передачи переменной типа Enum в тело POST-запроса в Spring можно воспользоваться аннотацией @RequestBody. Рассмотрим пример:

  1. Определяем Enum-класс:
1
2
3
4
public enum Status {
    ACTIVE,
    INACTIVE
}


  1. Создаем DTO-класс, который будет использоваться для передачи данных в запросе:
1
2
3
4
5
6
public class MyDTO {
    private String name;
    private Status status;

    // геттеры и сеттеры
}


  1. Объявляем контроллер, в котором будет определен POST-метод, принимающий DTO в теле запроса:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
@RestController
public class MyController {

    @PostMapping("/my-endpoint")
    public ResponseEntity<String> myEndpoint(@RequestBody MyDTO dto) {
        // Ваш код обработки запроса
        
        return ResponseEntity.ok("Success");
    }
}


В данном примере переменная типа Enum status будет передаваться в теле POST-запроса в формате JSON.