Java Spring RequestParam为null

时间:2016-02-16 21:38:07

标签: java spring

我遇到一个问题,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方法,并且我能够调用第一个函数。这让我相信我发送到服务器的查询没有任何问题。

1 个答案:

答案 0 :(得分:2)

Spring仅处理GET和POST方法的请求参数。如果使用PUT,则必须使用@RequestBody传递数据。