【发布时间】:2022-02-03 07:53:12
【问题描述】:
public class ModelDTO implements Serializable {
private Long id;
private String datasetName;
@JsonRawValue
private String json;
}
如果我发送以下正文,邮递员或 swagger 的 Post API 工作正常。
{
"id": 1,
"datasetName": "Insurance",
"json" : "[{\"ClassName\":\"AAAA\",\"Fields\":[[\"cdsa\",\"csa\"],[\"ca\"]]},{\"ClassName\":\"ca\",\"Fields\":[null]}]"
}
但 MockMVC 测试用例在 Spring 启动项目中出现以下错误
错误请求:JSON 解析错误:意外字符('C'(代码 67)):期望用逗号分隔对象条目;嵌套异常是 com.fasterxml.jackson.core.JsonParseException: Unexpected character ('C' (code 67)): 期望用逗号分隔对象条目 在 [来源:(PushbackInputStream);行:1,列:89]
mockMvc.perform(post(ENTITY_API_URL).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(ModelDTO))).andExpect(status().isCreated());
【问题讨论】:
标签: java spring-boot parsing integration-testing mockmvc