是什么导致此错误,将JSON解组

时间:2020-09-05 14:27:11

标签: spring-boot spring-mvc junit

我正在对基本控制器进行单元测试,在某些情况下,我会从文件中返回一些预编译的静态json。

我遇到的问题是,当我尝试按以下方式在响应中返回此静态json时:

//records is my json from a file
return ResponseEntity.ok(new JsonApiEnvelope<>(records));

我收到以下错误:

java.lang.IllegalArgumentException: Passed in List contains (at least) one element (type: java.util.LinkedHashMap) that is not JsonApi annotated. Expected ALL contents of the list be of type(s) with the @JsonApiType annotation
    at com.cradlepoint.jsonapiary.envelopes.JsonApiEnvelope.validateTypeJsonAPIAnnotated(JsonApiEnvelope.java:144)
    at com.cradlepoin...

什么可能导致此行为? json有效,已经通过格式化程序了。

1 个答案:

答案 0 :(得分:0)

我很高兴地报告我已经解决了我的问题。现在,返回静态json的控制器仅具有String的返回类型并产生'application / json'。在这种情况下,会发生该错误,因为我试图将静态json编组为对象列表,然后将该列表(未编组)作为json发送。事后看来,疯了