У меня есть требование передать необязательный параметр (счет) в метод GET. Я попробовал ниже.Необязательный параметр пути в REST api Spring MVC
@RequestMapping(value = {"/findDetail","/findDetail/{no}"}, method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public int findAll(@PathVariable Optional<Integer> no) {
//find method takes Optional argument.
return ticketService.find(no);
}
Я ожидаю некоторую ценность здесь, но не всегда имеет значение null. Я что-то пропустил?
Я пробовал с той же весенней версией, что и ваш. Я развернул его в tomcat. Во время работы в режиме отладки, чтобы проверить значение, я вовсе не значение –
Хм хорошо. Не могли бы вы попробовать изменить подпись на 'public int findAll (@PathVariable Необязательный нет, запрос HttpServletRequest) {' и посмотреть, что Spring считает URL-адрес в режиме отладки? ('request.getRequestURL()') –
Фактически, когда я даю несколько значений в сопоставлении запроса, он не работает. Звонок даже не приходит к методу. Но когда я даю одно значение, например value = "/ findDetail/или value ="/findDetail/{no}, он работает так, как ожидалось для этого URL-адреса. –