我正在尝试将 JSON 字符串作为请求发送到我的应用程序。这是我的代码:
@RequestMapping(
value = "/mylink/upload",
method = RequestMethod.POST,
consumes ="application/json",
produces = "application/json")
public
@ResponseBody
List<Upload> upload(
@RequestParam(value = "hdfsLocation") String hdfsLocation
) throws Exception {
return S3HdfsTransfer.uploadFromHDFS(hdfsLocation);
}
我正在尝试使用 Postman 发送请求。我使用的方法是POST, header 包含:Accept "application/json",Content-Type "application/json",请求正文如下:
{
"hdfsLocation" : "hdfs://145.160.10.10:8020"
}
这是我得到的回复。如果我将参数放入 URL 中,它就会起作用。
{
"httpStatus": 500,
"appErrorId": 0,
"message": "Required String parameter 'hdfsLocation' is not present",
"trackingId": "8c6d45fd-2da5-47ea-a213-3d4ea5764681"
}
知道我做错了什么吗?
谢谢, 塞尔维亚人
最佳答案
看起来您混淆了 @RequestBody
和 @RequestParam
。执行以下任一操作:
将请求参数作为请求参数(而不是正文)传递。就像,(编码)
将
@RequestParam
替换为@RequestBody
。如果您要发送正文,请勿将其与请求参数一起发送。这是两件不同的事情。
我猜你看太多了:)
关于Java Spring MVC - 发送 JSON 请求正文错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177369/