Spring Boot 是一个用于简化 Spring 应用程序初始搭建以及开发过程的框架。它通过自动配置的方式极大地提高了开发效率。控制器(Controller)是 Spring MVC 中的一个重要组件,负责处理用户请求并返回相应的响应。
Spring Boot 控制器主要有以下几种类型:
Spring Boot 控制器广泛应用于各种 Web 应用程序,包括但不限于:
当你在测试 Spring Boot 控制器时,预期返回 404(未找到)状态码,但实际返回了 200(成功)状态码,可能的原因有:
@RequestMapping
或 @GetMapping
等注解使用不当。/api/hello
。application-test.properties
)中没有错误的配置。假设你有一个简单的 Spring Boot 控制器:
@RestController
@RequestMapping("/api")
public class MyController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, World!";
}
}
测试时,确保请求路径正确:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MyControllerTest {
@LocalServerPort
private int port;
private TestRestTemplate restTemplate = new TestRestTemplate();
@Test
public void testSayHello() {
ResponseEntity<String> response = restTemplate.getForEntity("http://localhost:" + port + "/api/hello", String.class);
assertEquals(HttpStatus.OK, response.getStatusCode());
assertEquals("Hello, World!", response.getBody());
}
}
通过以上步骤,你应该能够找到并解决控制器测试返回 200 而预期为 404 的问题。
领取专属 10元无门槛券
手把手带您无忧上云