我有一个 spring mvc 控制器,它正在为具有多个请求参数的 Web 服务请求提供服务。所有参数均已标注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
and 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"
我的服务由具有单个端点的多个客户端使用,这导致有时会出现一些参数。我需要处理所有的场景。任何想法?