Есть enam и контроллер как правильно передать enum через json?
public enum Status {
One,
Two,
Three;
}
@PostMapping("/api/{id}")
public ResponseEntity<Model> post(
@RequestBody Status status,
@PathVariable Long id
) {
logic
return ResponseEntity.ok(trip);
}
если я отправляю такой json
{"status":"One"}
ошибка Required request body is missing
Если хочется передавать такой json объект содержащий поле status
{"status":"One"}
то предполагается что в приложении есть класс, например такой
import lombok.*;
@ToString
public class StatusDTO {
@Getter
@Setter
@JsonProperty(value = "status")
private Status status;
enum Status {
One,
Two,
Three;
}
}
в контроллере
@RequestBody StatusDTO status
Если в контроллере хочется принимать именно объект перечисления, то придется изменить тело запроса
["One"]
и принимать массив в контроллере
@RequestBody Status[] status
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости