У меня есть контроллер spring mvc, который обслуживает запросы веб-службы с несколькими параметрами запроса. Все параметры помечены required = false
. Тем не менее, если в запросе параметр недоступен,
@RequestMapping(value = "/service/deployNew", method = RequestMethod.POST)
@ResponseBody public ResponseEntity<DeploymentId> deploy(HttpServletRequest request, HttpServletResponse response, @RequestParam(required = false, value = "abc") String abc, @RequestParam(required = false, value = "xyz") String xyz, @RequestParam(required = false, value = "uvw") String uvw,) throws Exception;
я вижу ошибку
required string parameter 'param' is not present
Если я даю пустое значение для параметра, все работает нормально, как показано ниже. Параметры abc
и xyz
имеют пустое значение, но я все равно его передаю.
curl -i -X POST -H Accept:application/json "http://localhost:8080/Test/service/deploy.do?abc=&xyz=&uvw=somevalue"
Если я удалю любой из вышеуказанных параметров, он выдаст ошибку.
curl -i -X POST -H Accept:application/json "http://localhost:8080/Test/service/deploy.do?uvw=somevalue"
Мой сервис используется несколькими клиентами с одной конечной точкой, из-за чего иногда присутствуют некоторые параметры. Мне нужно обработать все сценарии. Есть идеи?