我遇到了Spring(3.1)映射难题: 我有一个简单的findAll方法:
@RequestMapping( method = RequestMethod.GET )
@ResponseBody
public List< User > findAll(){
return findAllInternal();
}
这映射在以下URI上(很好):/user
。
但是它也映射到:/user?bla=8
,这不好。
有没有办法明确指定此特定映射不包含参数的事实?
我试图在params
中指定@RequestMapping
,但我看不到明确的方法。
感谢任何帮助。
感谢。 尤金。
答案 0 :(得分:1)
您可以否定@RequestMapping.param
属性中的参数。
@RequestMapping( method = RequestMethod.GET, params = "!bla")
从春季3.1开始,您无法明确禁止请求参数。
但说实话,这很少是必要的。
有三种用例:
bla
是一个已知参数,您可以明确允许/禁止。bla
是未知参数,可以忽略。 前两个可以在spring mvc中完成。第三个,AFAIK,不能。
第三个选项也有潜在危险,因为您必须非常小心客户端可以发送到服务器的参数(例如安全框架添加的内容等)。