我在中定义了一个servlet网站.xml,所以我在一个控制器中定义了它,只用于测试
MyResource
@Controller
public class TestMyServlet {
MyResource servlet;
@Autowired
AutowireCapableBeanFactory beanFac;
@PostConstruct
void init() {
servlet = new MyResource();
beanFac.autowireBean(servlet);
}
@RequestMapping(value = "/servlet/api/update", method = RequestMethod.POST)
public MyResponse handle(HttpServletRequest request, HttpServletResponse response, @RequestBody String json) {
return servlet.update(json);
}
然后我用
MockHttpServletRequestBuilder
MockHttpServletRequestBuilder mockHttpServletRequestBuilder = MockMvcRequestBuilders
.post("/servlet/api/update")
.content("{\"id\":1,\"toggle\":true}]")
.session(httpSession)
.contentType(MediaType.APPLICATION_JSON);
MvcResult mvcResult = this.mockMvc.perform(mockHttpServletRequestBuilder)
.andDo(MockMvcResultHandlers.print())
.andReturn();
ModelAndView modelAndView = mvcResult.getModelAndView().getModelMap();
String response = mvcResult.getResponse().getContentAsString();
在servlet中我不使用
ModelAndView
MyResponse
)即序列化为JSON响应
我的反应
对象作为中的第二个属性
模型和视图
response
为空
如何检查此响应中返回的JSON字符串?