在我的 Controller 中,我有 String 参数,其中包含一些 id,它不应该是空字符串的 null。我想知道,有什么方法可以检查@RequestMapping 参数中的字符串是否为空? 我试图以某种方式解决它
@RequestMapping(value = someURL, params = {"id"})
public SomeResponse doSomething(@RequestParam(required = true) String id)
@RequestMapping(value = someURL, params = {"!id="})
public SomeResponse doSomething(@RequestParam(required = true) String id)
@RequestMapping(value = someURL, params = {"!id=\"\""})
public SomeResponse doSomething(@RequestParam(required = true) String id)
没有成功。
据我了解, params = {"id"}
和 @RequestParam(required = true)
都只能检查参数 id
是否出现在请求(!= null)。
很可能我必须使用 Controller boby 中的代码来检查这一点,例如
if (id == null || id.isEmpty()) {
return someErrorResponse;
}
但如果我错了,请纠正我。 提前致谢。
附:我的应用在 Apache Tomcat 7.0.62 容器中的 Java 1.7 SE 上运行
最佳答案
根据使用该注释的 Spring 代码
org.springframework.web.servlet.mvc.annotation.ServletAnnotationMappingUtils.checkParameters(String[], HttpServletRequest)
这样的事情应该可以工作:
@RequestMapping(value = someURL, params = {"id!="})
public SomeResponse doSomething(@RequestParam(required = true) String id)
关于java - 如何检查@RequestMapping参数中的请求参数不是空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32475877/