Java Spring:客户端发送的请求在语法上不正确()

Java Spring:客户端发送的请求在语法上不正确(),java,spring,spring-mvc,Java,Spring,Spring Mvc,嗨,我在重定向过程中收到下一个错误: 客户端发送的请求在语法上不正确 浏览器显示的URL是:localhost:8080/Project/menu/main/home/0,这里是我的类,第一个重定向为“from”,第二个重定向为“to”: 二等舱: @Controller @SessionAttributes("menu") public class FirstPageController { @ModelAttribute public Menu createMenu() {

嗨,我在重定向过程中收到下一个错误:

客户端发送的请求在语法上不正确

浏览器显示的URL是:
localhost:8080/Project/menu/main/home/0
,这里是我的类,第一个重定向为“from”,第二个重定向为“to”:

二等舱:

@Controller
@SessionAttributes("menu")
public class FirstPageController {

    @ModelAttribute
    public Menu createMenu() {
        return new Menu();
    }

    @RequestMapping(value = "/menu/main/{subMenu}/{secMenu}", method = RequestMethod.GET)
    public ModelAndView menuResolver(@PathVariable String mainMenu, @PathVariable String subMenu,@PathVariable String secMenu, @ModelAttribute("menu") Menu menu) {
        menu.setMainMenu(mainMenu);
        menu.setSubMenu(subMenu);
        menu.setSecMenu(secMenu);       

        if (menu.getSubMenu().equals("home")){
            String title = "Project - Home Page";
            return new ModelAndView("MainPage", "title", title);
        }

        String title = "Project - Home Page";
        return new ModelAndView("MainPage", "title", title);
    }
}

已解决:我解决了它,在第二个类的方法中有多余的参数。

在这种情况下,在
log4j配置中将
org.springframework.web
loggin级别设置为
DEBUG
非常有用

<logger name="org.springframework.web">
    <level value="DEBUG" />
    ...
</logger>

...

例如,当参数丢失或无法转换为所需类型时,日志中将出现异常详细信息。

在我的情况下,此错误的原因是浏览器(Chrome,在我的特殊情况下)正在以错误的格式将
日期
发送到服务器,因此服务器不知道如何解析它。

如前所述,使用详细日志有助于我找到解决方案。在我的例子中,没有指定名称的@PathVariable与变量本身不匹配

大概是这样的:

@RequestMapping("/user/{uname}")
public String doSomething(@PathVariable String username) { ...
注意“uname”和“username”之间的区别!
内部有一个异常没有引发,我在将日志设置为信息级别之前无法看到它。

在我的情况下,这也是一个转换问题,Spring需要一个整数,但我输入了一个字符串。尝试检查您作为参数传递给控制器的内容

我解决了它,在第二个类的方法中有多余的参数。您可以将您的解决方案作为答案发布,然后接受它,这将有所帮助community@user1640210,发布解决方案并接受它将帮助社区,正如serkan所说,让人们不要浪费时间阅读已经解决的问题。我也是这样。你是如何解决你的错误的?
@RequestMapping("/user/{uname}")
public String doSomething(@PathVariable String username) { ...