AppInitializer.java
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{AppConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[]{"/api/*"};
}
}
AppConfig.java
@Configuration
@ComponentScan
@EnableWebMvc
public class AppConfig {
}
用户控制器.java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(method = RequestMethod.GET)
public List<User> getUsers(){
List<User> users = userService.findAll();
return users;
}
当我尝试触发http://localhost:8080/practice/api/users时,它会导致“HTTP Status 404” - /practice/api/users (其中 practice 是项目名称)。在 getServletMappings() 中,我将路径指定为 /api/*,而 UserController 类的请求映射为 /users。我不知道我哪里错了。当我访问 index.xml 时,它工作正常。
错误截图: