簡體   English   中英

Java Spring MVC-發送JSON請求正文錯誤

[英]Java Spring MVC - Send JSON request body error

我正在嘗試將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);
}

我正在嘗試向郵遞員發送請求。 我使用的方法是POST,標頭包含:接受“ 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嗎? 另外,即使使用@RequestBody ,整個JSON字符串: { "hdfsLocation" : "hdfs://145.160.10.10:8020" }仍將是String hdfsLocation的值,而不僅僅是hdfs url。 因此,您將必須自己對JSON進行JSON解析,以僅獲取hdfs網址。

看起來您已經將@RequestBody@RequestParam混淆了。 請執行以下任一操作:

我想你看過了:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM