java - Spring Boot PostMapping 反序列化长数组

标签 java json spring-boot

我正在尝试反序列化 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 相同,仅适用于 ArrayList
我用 @JsonDeserialize(using = NumberDeserializers.LongDeserializer.class) 试过了,但它似乎不起作用或我使用错误。

最佳答案

上面的请求体代表一个带有 ids 的 POJO 类作为如下属性

public class Body {

  private Long[] ids;
  //getters and setters

 }
然后使用这个 POJO 作为 RequestBody
public ResponseEntity<SomeDto> exportCsv(@RequestBody Body body)

关于java - Spring Boot PostMapping 反序列化长数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69887215/

相关文章:

java - Guava MultiSet 与 map ?

java - Application Client <-> EJB calls round-trip 似乎很慢

java - 如何在java中获取带有时区的日期格式

javascript - Chart.js 条形图未出现

javascript - 使用本地json文件查找key :value using javascript

java - 生成Swagger文档时如何让Springfox序列化jaxb注解模型

java - 重定向到接收 Controller 后传递 modelAndView 对象

java - 如何从 Android 应用程序通过 JDBC 连接到远程 MySQL 服务器

java - 使用 JPA 将 Spring Boot 连接到 MySQL 时出错

json - 使用 JOLT 转换重命名嵌套数组中的字段