要实现不经过互联网调用Spring控制器方法,可以使用Spring的测试框架进行本地测试。以下是一个示例代码:
首先,创建一个Spring控制器类,例如UserController:
@Controller
public class UserController {
@RequestMapping("/hello")
@ResponseBody
public String sayHello() {
return "Hello, World!";
}
}
然后,创建一个测试类,例如UserControllerTest:
@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class)
public class UserControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void testSayHello() throws Exception {
mockMvc.perform(get("/hello"))
.andExpect(status().isOk())
.andExpect(content().string("Hello, World!"));
}
}
在上面的示例代码中,使用了Spring的测试注解@RunWith和@WebMvcTest来启用Spring测试环境和仅加载UserController类。然后,使用@Autowired注入MockMvc类来模拟发送HTTP请求。在测试方法testSayHello中,使用mockMvc.perform方法发送GET请求到"/hello"路径,并使用andExpect方法验证返回的状态码和内容是否符合预期。
使用这种方法可以在本地直接调用Spring控制器方法,而无需经过互联网请求。您可以根据需要添加更多的测试方法来测试其他的控制器方法。