使用不同的参数为相同的 url 模式创建两种方法 [英] create two method for same url pattern with different arguments

查看:27
本文介绍了使用不同的参数为相同的 url 模式创建两种方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个场景,其中一个 urlserachUser"可能带有两个不同的值(请求参数)userId 或 UserName.

I have scenario where one url "serachUser" may come with two different value (request parameter) userId or UserName.

为此我创建了两种方法

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

但是我遇到了 Ambiguous mapping found 异常.Spring 有办法处理这种情况.

But i am getting Ambiguous mapping found exception. Spring has any way to handle this situation.

推荐答案

您可以使用 params 参数以通过 HTTP 参数过滤.在你的情况下,它会是这样的:

You can use the params parameter to filter by HTTP parameters. In your case it would be something like:

@RequestMapping(value = "/searchUser", params = "userID")
public String searchUserById(@RequestParam long userID, Model model) {
  // ...
}

@RequestMapping(value = "/searchUser", params = "userName")
public ModelAndView searchUserByName(@RequestParam String userName) {
  // ...
}

这篇关于使用不同的参数为相同的 url 模式创建两种方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆