在一项操作中,我希望它采取内容的POST。我正在发送以下值:

        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.


我的动作看起来像这样

  @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 {

10-07 19:00
查看更多