gpt4 book ai didi

java - Spring:客户端发送的请求语法错误()

转载 作者:IT老高 更新时间:2023-10-28 13:50:37 25 4
gpt4 key购买 nike

您好,我在重定向期间收到了下一个错误:

The request sent by the client was syntactically incorrect

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

 /*
* Get all possible values of menu and generate correct url to pages controllers
*
*/

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


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

@RequestMapping(value = "/menu", method = RequestMethod.GET)
public String mainMenuResolver(@ModelAttribute Menu menu) {
menu.setMainMenu("first");
return "forward:/menu/first";
}

@RequestMapping(value = "/menu/{mainMenu}", method = RequestMethod.GET)
public String subMenuResolver(@PathVariable String mainMenu, @ModelAttribute Menu menu) {
menu.setMainMenu(mainMenu);
menu.setSubMenu("home");
return "forward:/menu/first/home";
}

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

if (menu.getMainMenu().equals("first")){
return "redirect:/menu/main/"+menu.getSubMenu()+"/"+menu.getSecMenu();
}

if (menu.getMainMenu().equals("second")){
return "redirect:/menu/religion/"+menu.getSubMenu()+"/"+menu.getSecMenu();
}

return "redirect:/menu/main/"+menu.getSubMenu()+"/"+menu.getSecMenu();
}
}

二等:

@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 登录级别设置为 DEBUG 非常有用

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

例如当参数丢失或无法转换为所需类型时,日志中会有异常详情。

关于java - Spring:客户端发送的请求语法错误(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12228484/

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