繁体   English   中英

如何将模拟mvc GET调用映射到java POJO?

[英]How to map mock mvc GET call into java POJO?

我有一个rest控制器方法,它返回一个对象CompositeObject ,其中包含几个其他对象和结构(地图和列表)。 我想编写一个测试,测试其余的get调用是否返回该对象以及字段(即使这些字段的值为null),但我不知道如何映射下面的模拟mvc调用的响应:

String response = this.mockMvc.perform(get("/getclassdata?classCode=cs").accept("application/json"))
                .andExpect(status().isOk())
                .andReturn().getResponse().getContentAsString();

此测试工作正常,但我想检查返回的JSON是否是我感兴趣的对象( CompositeObject ),并确保它包含所有必需的字段。 我该如何测试呢? 测试框架中是否有类似于instanceof

谢谢。

您可以使用com.fasterxml.jackson.databind.ObjectMapper读取对POJO的Json响应:

ObjectMapper mapper = new ObjectMapper();

MvcResult mvcResult = mockMvc.perform(get("/example-endpoint")).andReturn();

ExampleResponse parsedResponse = mapper.readValue(mvcResult.getResponse().getContentAsByteArray(), ExampleResponse.class);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM