我正在对基本控制器进行单元测试,在某些情况下,我会从文件中返回一些预编译的静态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有效,已经通过格式化程序了。
答案 0 :(得分:0)
我很高兴地报告我已经解决了我的问题。现在,返回静态json的控制器仅具有String的返回类型并产生'application / json'。在这种情况下,会发生该错误,因为我试图将静态json编组为对象列表,然后将该列表(未编组)作为json发送。事后看来,疯了