Spring 启动 MockMvc post 没有进入真正的控制器方法
Spring boot MockMvc post not enter to real conntroller method
我有控制器方法
@PostMapping(value = "/getTransaction/{transactionUuid}")
public ResponseEntity<TransactionDetail> getTransaction(@PathVariable() String transactionUuid) {
return ResponseEntity.ok(transactionsService.getOpcTransaction(transactionUuid));
}
我为控制器编写测试:
@Autowired
private MockMvc mockMvc;
@Test
public void test() throws Exception {
mockMvc.perform(post("/nfp-server/getTransaction/{transactionUuid}", "123"))
.andDo(print());
}
我在调试模式下开始测试 - 但我没有进入控制器 getTransaction
方法。在日志中我看到:
MockHttpServletRequest:
HTTP Method = POST
Request URI = /server/getTransaction/123
Parameters = {}
Headers = {}
在您的控制器中,您的映射是
/getTransaction/{transactionUuid}
在你的测试中class你通过了
/nfp-server/getTransaction/{transactionUuid}
不匹配。
我有控制器方法
@PostMapping(value = "/getTransaction/{transactionUuid}")
public ResponseEntity<TransactionDetail> getTransaction(@PathVariable() String transactionUuid) {
return ResponseEntity.ok(transactionsService.getOpcTransaction(transactionUuid));
}
我为控制器编写测试:
@Autowired
private MockMvc mockMvc;
@Test
public void test() throws Exception {
mockMvc.perform(post("/nfp-server/getTransaction/{transactionUuid}", "123"))
.andDo(print());
}
我在调试模式下开始测试 - 但我没有进入控制器 getTransaction
方法。在日志中我看到:
MockHttpServletRequest:
HTTP Method = POST
Request URI = /server/getTransaction/123
Parameters = {}
Headers = {}
在您的控制器中,您的映射是
/getTransaction/{transactionUuid}
在你的测试中class你通过了
/nfp-server/getTransaction/{transactionUuid}
不匹配。