2

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 时,它工作正常。

错误截图:

当我尝试访问应用程序的 api 时浏览器出错

4

1 回答 1

0

您应该必须在 Requestmapping 中使用 value 属性,例如 @RequestMapping(value="users",method = RequestMethod.GET)

于 2016-03-10T05:34:54.030 回答