java - 出现错误 : The request sent by the client was syntactically incorrect

标签 java spring-mvc

在其中一个操作中,我希望它发布内容。我发送以下值:

        permissionId = $('#permissionId').val();
        var emails   = $.trim($('#emails', win).val());
        var sms      = $.trim($('#sendSms', win).is(':checked'));
        var email    = $.trim($('#sendEmail', win).is(':checked'));
        var override = $.trim($('#cannotOverride', win).is(':checked'));            

window.location = '/aims/monitoringPermissions/' + permissionId + '/' + emails + '/' + sms + '/' + email+ '/' + override+ '/' + monitId; 

但是,当我发送它时,我收到以下错误:

The request sent by the client was syntactically incorrect.

我的 Action 是这样的

  @RequestMapping(value="/monitoringPermissions/{permissionId}/{emails}/{sms}/{email}/{override}/{monitId}", method = RequestMethod.GET)
  public ModelAndView submitPermissions(@PathVariable long roleId, @PathVariable String emails,
        @PathVariable boolean canSendSMS, @PathVariable boolean canSendEmail, @PathVariable boolean cannotOverride, @PathVariable long monitoringId,Model model, HttpSession session,
        Principal principal, @ModelAttribute("permission") MonitoringPermission monitoringPermission) throws Exception {

请帮忙。

最佳答案

您的 @pathvariable 变量名称不正确:

Spring 自动将路径变量与具有完全相同名称的参数匹配 应该是这样的:

@RequestMapping(value="/monitoringPermissions/{permissionId}/{emails}/{sms}/{email}/{override}/{monitId}", method = RequestMethod.GET)
  public ModelAndView submitPermissions(@PathVariable long permissionId, @PathVariable String emails,
        @PathVariable boolean sms, @PathVariable boolean email, @PathVariable boolean override, @PathVariable long monitId,Model model, HttpSession session,
        Principal principal, @ModelAttribute("permission") MonitoringPermission monitoringPermission) throws Exception {

或者类似的东西:

@RequestMapping(value="/monitoringPermissions/{permissionId}/{emails}/{sms}/{email}/{override}/{monitId}", method = RequestMethod.GET)
  public ModelAndView submitPermissions(@PathVariable("permissionId") long roleId, @PathVariable("emails") String emails,
        @PathVariable("sms") boolean canSendSMS, @PathVariable("email") boolean canSendEmail, @PathVariable("override") boolean cannotOverride, @PathVariable("monitId") long monitoringId,Model model, HttpSession session,
        Principal principal, @ModelAttribute("permission") MonitoringPermission monitoringPermission) throws Exception {

关于java - 出现错误 : The request sent by the client was syntactically incorrect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25367510/

相关文章:

java - 使用 url 加载 imaeview 的任何更快的方法

java - 如何重新加载先前加载的在运行时更改的类?

java - Spring MVC 3 使用 sitemesh 重定向/转发

java - 将 Spring 应用程序发布到 Geronimo Web 服务器时出错

java - 使用 spring @PathVariable 提取和解析参数

java - 如何使用 wsimport 生成@HandlerChain

java - 带 xyz 键的容器

java - 如何选择 Thymeleaf 片段内的子元素位置?

Java 邮件附加文件在下载后显示损坏

具有两种 MVC 配置的 Spring Boot