Java SpringREST服务返回HTTP 400状态
我有一个用SpringFrameworkV3.2.0编写的REST服务 这是控制器: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/
@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
!我想你们中的一个应该把它作为答案发布,这样它就可以被其他人正确地接受使用。。。