[英]How to test reuqestmethod.get with object parameter by using mockmvc
如果我有 get 方法定义如下
@GetMapping(value = "/getfood")
public Food getFood(@valid final Order order)
我如何使用以下代码在 mockmvc 测试中通过 Order object
this.mockMvc.perform(get("/getfood"))
谢谢
您可以使用 RequestBuilder 和 MvcResult:
RequestBuilder request = MockMvcRequestBuilders.get("/getfood").accept(MediaType.HTML);
MvcResult result = mockMvc.perform(request).andReturn();
CustomResponse customResponse = new CustomResponse("your data");
ResponseEntity response = new ResponseEntity<CustomResponse>(customResponse, HttpStatus.OK);
assertEquals(response.getBody().toString(), response.getResponse().getContentAsString());
您需要根据您的代码修改此示例。 CustomResponse 是您需要创建的类。 其余的是从 org.springframework.test.web.servlet.* 导入的
为了使用 mockmvc 在 get 请求中发送自定义 object,我发现这段代码很有用:
Order myOrder = new Order();
mockMvc.perform(
MockMvcRequestBuilders.get(API_V_1).contentType(APPLICATION_FORM_URLENCODED)
.flashAttr("order", myOrder );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.