Как я могу контролировать Spring RequestBody, преобразуя тело JSON-запроса в объект? - PullRequest
0 голосов
/ 03 января 2019

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.Но я хочу иметь некоторый контроль над процессом конвертации, чтобы он не удался.

1 Ответ

0 голосов
/ 03 января 2019

Вы также можете проверить наличие редакторов свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...