Можно ли проверить, что URI pathparam пуст или не использует Spring или boot? - PullRequest
0 голосов
/ 29 октября 2018

Мне нужно знать, можно ли проверить значение переменной пути в REST URI.

Пример: http://loacalhost:8080/config/test/{id}/plan

если запрос приходит как http://loacalhost:8080/config/test//plan без идентификатора, мне нужно выдать исключение, как идентификатор является обязательным. Возможно ли это сделать. Решение заметно

Ответы [ 3 ]

0 голосов
/ 29 октября 2018

Это уже требуется по умолчанию, и исключение уже выдается, если оно отсутствует. С документация :

public abstract boolean required

Является ли переменная пути обязательно.

По умолчанию установлено значение true, что приводит к возникновению исключения, если переменная пути отсутствует во входящем запросе . Переключите это на false, если вы предпочитаете нуль или Java 8 java.util.Optional в этом случае. например на метод ModelAttribute, который служит для различных запросов.

Акцент мой

0 голосов
/ 06 ноября 2018

Вам нужно только пометить параметр как «обязательный» в методе конечной точки

0 голосов
/ 29 октября 2018

Вы можете использовать Optional:

@GetMapping("/config/test/{id}")
public ResponseEntity<?> doGet(@PathVariable("id") Optional<Integer> id) {
    Integer idValue = id.orElseThrow(new IllegalArgumentException("Id is required"));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...