Spring @RequestBody аннотация автоматически преобразует тело запроса JSON в объект.Процесс конвертации кажется нам черным ящиком.Тем не менее, мне нужно контролировать процесс преобразования, чтобы не дать ожидаемый неверный ввод.
Посмотрите на код ниже.Тело запроса JSON содержит строку «id» с заглавной буквой.Когда Spring автоматически преобразует его в объект UUID, он будет успешным.
// the controller
public class IndexController {
...
public ResponseEntity<Void> postIndexes(@ApiParam(value = INDEXES_DESC, required = true) @Valid @RequestBody @Size(min = 1, max = 2000) List<Index> indexes) {
...
}
...
}
// the Index class
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Index implements Serializable {
@ApiModelProperty(value = ID_DESC, example = SINGLE_ID)
@NotNull
private UUID id;
...
}
// the input JSON request body
[
{
...
"id": "40336c2b-591a-4472-a270-111111A46339",
...
}
]
Тем не менее, я хочу, чтобы этот тип ввода с заглавными буквами не удался.Не уверен, что волшебным образом делает аннотация @RequestBody.Похоже, он использовал UUID.fromString () для преобразования входных данных String в объект UUID.Но я хочу иметь некоторый контроль над процессом конвертации, чтобы он не удался.