spring - 为具有不同参数的相同 url 模式创建两个方法

标签 spring spring-mvc

我有一个 url “serachUser” 可能带有两个不同值(请求参数)userId 或 UserName 的场景。

为此我创建了两种方法

public String searchUserById(@RequestParam long userID, Model model) 
public ModelAndView searchUserByName(@RequestParam String userName)

但是我得到了不明确的映射发现异常。 Spring可以处理这种情况吗?

最佳答案

您可以使用 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) {
  // ...
}

关于spring - 为具有不同参数的相同 url 模式创建两个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15853035/

相关文章:

java - 未找到 HTTP 请求与 URI 的映射

java - Hibernate 如何知道是否重复登录?

java - 使 Swagger 在生成的模型中使用原始 int 和 boolean

java - spring 如何允许延迟加载?

java - 完全忽略带有 AspectJ 的 Spring/@Transactional

spring - 如何在 Spring Rest 中记录所有请求响应?

java - 在 Spring MVC 中获取 HTTP 请求参数

mysql - 保存非英语字符时出现问题

java - Spring将ProtobufHttpMessageConverter添加到没有xml配置的 Controller

java - Angular JS $http.post 方法导致 JSON 数组格式错误