![](/img/trans.png)
[英]How to pass the list of integers as json data to spring boot rest API?
[英]How to pass a list of integers as json data to a Spring Boot rest API without a custom intermediate object?
How to pass a list of integers as json data to a Spring Boot rest API without creating a custom intermediate object? 我知道您可以創建一個 DTO 類型的 object 到 map 請求,我已經成功完成了該請求,但是有沒有辦法將它作為 ID 的集合/數組接收,而無需為此目的創建 ZA2F2ED4F8EBC2CBB4C21A29DC40AB61? 我試圖在沒有任何運氣的情況下做到這一點。 還嘗試將 map 放到 ID 引用的實體的集合中,也沒有任何運氣。 一種方法來做到這一點,或者更習慣於 Spring Boot 的替代方案將受到歡迎。
發送到端點的請求正文示例:
{
"products": [
"1",
"2"
]
}
似乎 fps 的答案應該是合適的,但這里有一個警告
即使您的 class 被注釋為@RestController,在使用 Map 作為輸入時,您也需要使用@RequestBody(使用 POJO 可以避免此注釋)
波紋管代碼工作正常:
@PostMapping("/products")
@ResponseStatus(value = HttpStatus.OK)
public Object createProducts(@RequestBody Map<String, List<String>> input) {
return input;
}
更敏捷的方法是使用 Jackson 類。 它不僅允許使用字符串,還允許使用所有“本機”json 結構。
您可以檢查 JsonNode.isNumber()、JsonNode.isTextual()、JsonNode.isArray()、JsonNode.isObject() 等。
@PostMapping("/products")
@ResponseStatus(value = HttpStatus.OK)
public Object createProducts(@RequestBody Map<String, JsonNode> input) {
return input;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.