簡體   English   中英

如何使用 Springboot 在 REST 請求 URL 中將 json 對象作為參數傳遞

[英]How to pass a json object as a parameter in a REST request URL with Springboot

我查看了各種答案,但它們並沒有解決我的問題。 我有一個非常具體的客戶需求,我無法使用請求的正文。

我檢查了這些帖子:

注意:我確實對 URI 進行了編碼。

我收到各種錯誤,但非法 HTML 字符就是其中之一。 要求很簡單:

編寫一個接受以下請求的 REST 服務

GET /blah/bar?object=object11&object=object2&...

object 是一個 POJO,將采用以下 JSON 格式

{
    "foo": bar,  
    "alpha": {       
        "century": a,
    }
}

顯然,我將閱讀對象列表...

我的代碼非常簡化......如下。

 @RequestMapping(method=RequestMethod.GET, path = "/test")
 public Greeting test(@RequestParam(value = "object", defaultValue = "World") FakePOJO aFilter) {
     return new Greeting(counter.incrementAndGet(), aFilter.toString());
 }

我也嘗試將其封裝為字符串並稍后轉換,這也不起作用。

有什么建議? 這真的應該非常簡單,hello world spring rest tut 應該是一個很好的虛擬測試框架。

- - 編輯 - -

我發現 jackson 解析 json 的方式有一個基礎。 我已經解決了,但會寫一篇文章。我會在周一之后提供確切的細節。 精簡版。 為了使其適用於單個過濾器和多個過濾器,將其捕獲為字符串並使用 json slurper

如果您對Map<String, String>MultiValueMap<String, String>參數使用@RequestParam注釋,地圖將填充您在 URL 中指定的所有請求參數。

 @GetMapping("/blah/bar")
 public Greeting test(@RequestParam Map<String, String> searchParameters) {
     ...
 }

查看文檔以獲得更深入的解釋。

暫無
暫無

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

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