我遇到了一个问题,Spring 给我的 RequestParams 为空,即使我相信 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 和请求方法,并且我能够调用第一个函数。这让我相信我发送到服务器的查询没有任何问题。
最佳答案
Spring 仅处理 GET 和 POST 方法的请求参数。如果使用PUT,则必须使用@RequestBody传递数据。
关于Java Spring RequestParam 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35443502/