gpt4 book ai didi

java - Spring MVC 多个请求映射,缺少 requestparam

转载 作者:行者123 更新时间:2023-12-01 09:06:34 25 4
gpt4 key购买 nike

我需要通过一种方法处理两个@RequestMapping值。例如/创建并创建/{id}

@RequestMapping(value = {"create","create/{id}"}, method = RequestMethod.GET)
public String create_form(@PathVariable(value = "id") Long id,Model model, @ModelAttribute("channelNode") ChannelNode channelNode,
BindingResult result) {

if(id>0){ //or if id exsist

//do something

}

return CHANNELNODE_ADD_VIEW;
}

但是当我运行简单的“创建”url(没有任何参数)时它就起作用了/

它向我显示以下错误:

HTTP 状态 500 - Long 类型的方法参数缺少 URI 模板变量“id”

输入状态报告

消息 Long 类型的方法参数缺少 URI 模板变量“id”

描述服务器遇到内部错误,无法满足此请求。

最佳答案

不幸的是,您无法使用@PathVariable来做到这一点。

您需要通过定义 2 个单独的处理程序方法来完成此操作,

  1. 没有路径变量的

     @RequestMapping(value = "create", method = RequestMethod.GET)
    public String create_form(Model model, @ModelAttribute("channelNode") ChannelNode channelNode,
    BindingResult result) {

    return CHANNELNODE_ADD_VIEW;
    }
  2. 带有路径变量的一个

    @RequestMapping(value = "create/{id}", method = RequestMethod.GET)
    public String create_form(@PathVariable(value = "id") Long id,Model model, @ModelAttribute("channelNode") ChannelNode channelNode,
    BindingResult result) {

    return CHANNELNODE_ADD_VIEW;
    }

关于java - Spring MVC 多个请求映射,缺少 requestparam,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41222928/

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