gpt4 book ai didi

java - Spring MVC - 请求映射,两个带有两个不同参数的url

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:11:22 24 4
gpt4 key购买 nike

在 Spring 中是否有可能有一个方法有两个不同的 url,每个方法有不同的参数?

伪代码如下

@RequestMethod(URL1-param1, URL2-param2)
public void handleAction(@ModelAttribute("A") A a, ...) {
}

同时ULR1被映射到其他一些Controller中作为

@RequestMethod(URL1)
public void handleAction1(@ModelAttribute("A") A a, ...) {
}

最佳答案

更新:看来您的问题完全不同。

不,您不能在不同的 Controller 中使用具有不同参数的相同 url。而且它没有多大意义 - url 指定资源或操作,并且它不能在两个 Controller 中以完全相同的方式命名(表示不同的行为)。

你有两个选择:

  • 使用不同的网址
  • 在 misc Controller 中使用一种方法,根据请求参数分派(dispatch)到不同的 Controller (已注入(inject))。

原答案:

没有。但是你可以有两种方法做同样的事情:

@RequestMethod("/foo")
public void foo(@ModelAttribute("A") A a) {
foobar(a, null);
}

@RequestMethod("/bar")
public void bar(@ModelAttribute("B") B b) {
foobar(null, b);
}

如果我没有理解正确,而你想要相同的 ModelAttribute,那么只需:

@RequestMapping(value={"/foo", "/bar"})

最后 - 如果您需要不同的请求参数,您可以使用 @RequestParam(required=false) 列出所有可能的参数。

关于java - Spring MVC - 请求映射,两个带有两个不同参数的url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6571307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com