我遇到一个问题,Spring给了我RequestParams为null,即使我相信Http请求包含变量并且格式正确。
这是错误的代码。
@RequestMapping(value="/{username}/party/{partymember}",method=RequestMethod.PUT, produces="application/json", consumes="application/x-www-form-urlencoded")
public ResponseEntity<String> updatePartyMember(@PathVariable String username,
@PathVariable String partymember,
@RequestParam(value="membername", required=false) String newMemberName,
@RequestParam(value="job", required=false) String newJob)
这是另一个正常工作的功能。
@RequestMapping(value="/{username}/party", method=RequestMethod.POST, produces="application/json", consumes="application/x-www-form-urlencoded")
public ResponseEntity<String> addPartyMember(@PathVariable String username,
@RequestParam(value="membername", required=false) String partyMemberName,
@RequestParam(value="job", required=false) String partyMemberJob)
调试时,我对第二个函数进行了工作查询,只更改了url和request方法,并且我能够调用第一个函数。这让我相信我发送到服务器的查询没有任何问题。
答案 0 :(得分:2)
Spring仅处理GET和POST方法的请求参数。如果使用PUT,则必须使用@RequestBody传递数据。