我正在嘗試反序列化 Long 值串列:
{
"ids": [1, 2, 3]
}
使用以下方法:
@PostMapping(value = "/export")
public ResponseEntity<SomeDto> exportCsv(@RequestBody Long[] ids) {
// Some methods
return ResponseEntity.ok(someDto);
}
但我不斷收到以下錯誤:JSON parse error: Cannot deserialize value of type Long. 錯誤與使用 List<Long> 相同,僅適用于 ArrayList<Long>。
我用 嘗試過@JsonDeserialize(using = NumberDeserializers.LongDeserializer.class),但它似乎不起作用或我使用錯誤。
uj5u.com熱心網友回復:
上面的請求主體表示一個 POJO 類,ids具有如下所示的屬性
public class Body {
private Long[] ids;
//getters and setters
}
然后使用這個 POJO 作為 RequestBody
public ResponseEntity<SomeDto> exportCsv(@RequestBody Body body)
uj5u.com熱心網友回復:
對于您嘗試發送的 json 物件,spring 假定它是一個具有成員欄位的物件ids。如果您想直接附加到串列,請將以下 json 作為正文發送:
[5, 6, 8]
這將適用于:
@PostMapping(value = "/export")
public ResponseEntity<SomeDto> exportCsv(@RequestBody Long[] ids) {
...
}
和
@PostMapping(value = "/export")
public ResponseEntity<SomeDto> exportCsv(@RequestBody List<Long> ids) {
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/352935.html
