我有一个网址,其中一个网址“serachUser”可能带有两个不同的值(请求参数)userId或UserName。
所以为此我创建了两个方法
public String searchUserById(@RequestParam long userID, Model model)
public ModelAndView searchUserByName(@RequestParam String userName)
但我得到的是模糊映射发现异常。 Spring有办法处理这种情况。
答案 0 :(得分:125)
您可以使用params
参数按HTTP参数进行过滤。在你的情况下,它将是这样的:
@RequestMapping(value = "/searchUser", params = "userID")
public String searchUserById(@RequestParam long userID, Model model) {
// ...
}
@RequestMapping(value = "/searchUser", params = "userName")
public ModelAndView searchUserByName(@RequestParam String userName) {
// ...
}
答案 1 :(得分:0)
在任何情况下,如果不传递任何值,则允许请求参数为null,否则它将为null,那么您可以编写以下代码:
@RequestMapping(value = "/searchUser", params = {"userID","userName"})
public String searchUserById(@RequestParam long userID,@RequestParam String
userName,
Model model) {
if(userID != null){
//..
}else{
// ...
}