Java SpringREST服务返回HTTP 400状态

Java SpringREST服务返回HTTP 400状态,java,spring,rest,spring-mvc,Java,Spring,Rest,Spring Mvc,我有一个用SpringFrameworkV3.2.0编写的REST服务 这是控制器: @Controller @RequestMapping("/volunteer") public class VolunteerController { //several methods not included (all HTTP GET & working properly) @RequestMapping(value="/{volunteerId}/assignments/

我有一个用SpringFrameworkV3.2.0编写的REST服务

这是控制器:

@Controller
@RequestMapping("/volunteer")
public class VolunteerController { 

    //several methods not included (all HTTP GET & working properly)

    @RequestMapping(value="/{volunteerId}/assignments/{sessionId}", 
                    method=RequestMethod.PUT, params={"worked"})
    @ResponseStatus(HttpStatus.NO_CONTENT)
    public void setWorkedFlag(@PathVariable int volunteerId, 
                              @PathVariable int sessionId, 
                              @RequestParam int worked) {
        assignmentMapper.setWorked(volunteerId, sessionId, worked);
    }
}
当我使用此URL提交PUT请求时:

http://localhost:8080/volunteer/298/assignments/1?worked=true
我得到了400条回复消息:客户端发送的请求在语法上不正确

我还可以确认底层资源不需要修改

我将注释与请求URL进行了比较,没有发现任何明显的错误。另外,其他方法(此处省略)都能正常工作,因此应用程序上下文设置正常


有什么想法吗?

true
不能转换为
int
。。。HTTP只是字符串,Spring现在尝试将
字符串
转换为
int
。而你可能认为它是一个
boolean
转换成
int
!我想你们中的一个应该把它作为答案发布,这样它就可以被其他人正确地接受使用。。。