Java Spring MVC - 发送 JSON 请求正文错误

标签 java json spring

我正在尝试将 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。执行以下任一操作:

我猜你看太多了:)

关于Java Spring MVC - 发送 JSON 请求正文错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177369/

相关文章:

java - Jsoup 解析 RSS 时出现错误?

java - 当赋值运算符的优先级最低时,y=x++ 和 y=x-- 有何不同?

python - 如何检查 JSON 数组中是否存在值并继续循环

c# - ServiceStack 的 JSON 反序列化器解析无效的 JSON

java - Spring 启动执行: org. apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter(Lorg/apache/tomcat/JarScanFilter;V

javax.net.ssl.SSLPeerUnverifiedException : peer not authenticated after upgrading Spring Boot from 2. 1.0 到 2.2.0.M3

java - 线程执行期间对象状态修改

java - 在android中验证函数先决条件

php - 使用PHP的JSON数组

java - 如何使用 Corda-Spring-Webserver 实现查询过滤?