gpt4 book ai didi

spring - 两个具有相同 URL 但不同参数的 @GetMapping

转载 作者:行者123 更新时间:2023-12-05 02:41:39 48 4
gpt4 key购买 nike

我正在学习 Spring MVC,但在这个过程中我遇到了这个问题:

    // http://localhost:8080/todo-list/welcomeWithParam?user=Stefan
@GetMapping("welcomeWithParam")
public String welcome91(@RequestParam String user, Model model) {
model.addAttribute("helloThroughParam", demoService.getHelloMessage(user));
return "welcome-with-model";
}

// http://localhost:8080/todo-list/welcomeWithParam?user=Stefan&age=31
@GetMapping("welcomeWithParam")
public String welcome92(@RequestParam String user, @RequestParam int age, Model model) {
model.addAttribute("helloThroughParam", demoService.getHelloMessage(user));
model.addAttribute("age", age);
return "welcome-with-model";
}

我收到这个错误:

引起:java.lang.IllegalStateException:不明确的映射。无法映射“demoController”方法academy.learnprogramming.controller.DemoController#welcome92(字符串,整数,模型)到 {GET [/welcomeWithParam]}: 已经有 'demoController' bean 方法academy.learnprogramming.controller.DemoController#welcome91(String, Model) 映射。

那么,Spring 告诉我我们不能有两个具有相同 URL 但参数数量/类型不同的 GET 映射?

如果我更改其中一个 @GetMapping("") 值的值,它可以正常工作。

最佳答案

像这样:

@RequestMapping(value = "/welcomeWithParam", params = "user")
public String welcome91(@RequestParam String user, Model model) {
// ...
}

@RequestMapping(value = "/welcomeWithParam", params = {"user","age"})
public ModelAndView welcome92(@RequestParam String user, @RequestParam int age, Model model) {
// ...
}

关于spring - 两个具有相同 URL 但不同参数的 @GetMapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68020544/

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