我有一个具有以下Restful方法的SpringBoot应用程序
控制器:
@GetMapping(path = "/getVersion/{version}", produces = "application/json;charset=utf-8")
public ResponseEntity getSpecific(@PathVariable("version") String version) throws Exception{
// return ResponseEntity();
}
这是对应的junit方法。
@Test
public void testGetSpecific() throws Exception{
// Version - timestamp in Zulu format
String path = "/getVersion/" + DateTimeFormatter.ISO_INSTANT.format(Instant.now());
MvcResult result = mockMvc.perform(get(url + path).secure(false).contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andReturn();
}
问题: 测试期间发送的版本值在控制器端不相同。
例如:如果我们以测试方法发送 2019-05-21T20:18:08.157Z ,我们将在控制器处收到 2019-05-21T20:18:08 。因此,我们会错过 .157Z 部分。
我尝试了以下链接中描述的解决方案,但是没有运气。
spring 4.1.1, mockmvc and do not want url encoding of HTTP GET request
RestTemplate to NOT escape url
有人能指出幕后发生的事情以及如何解决吗?谢谢。