Reputation: 49
On one of the action I want it to take a POST of content. I am sending the following values:
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;
However, when I send it I am getting the following error:
The request sent by the client was syntactically incorrect.
My action looks like this
@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 {
Please help.
Upvotes: 1
Views: 532
Reputation: 3682
you have incorrect @pathvariable variable names:
Spring automatically matches a path variable to a parameter that has the exact same name should be something like:
@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 {
or something like:
@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 {
Upvotes: 2