在类级别使用Requestmapping时出错

时间:2018-03-13 16:44:19

标签: spring rest spring-mvc spring-restcontroller spring-rest

我正在尝试使用Spring 4编写一个基本的Spring Rest hello world示例。

尝试在班级@RequestMapping使用@RestController时收到404错误。当我删除上面的@RequestMapping(value="/rest")值时,它正在使用网址http://localhost:8080/helloWorld/users/1上的GET请求。但是当我取消注释它时,我在使用URL http://localhost:8080/helloWorld/rest/users/1时得到404。

这是我的控制器类:

@RestController   
@RequestMapping(value="/rest")  
public class UserRestController {  

    @Autowired  
    private UserRepository userRepository;  

    @RequestMapping(value = "/users", method=RequestMethod.POST) 
    public void save(@RequestBody User user) {
        userRepository.save(user);
    }

    @RequestMapping(value = "/users", method=RequestMethod.GET)
    public List<User> list() {
        return userRepository.findAll();
    }

    @RequestMapping(value="/users/{id}", method=RequestMethod.GET)
    public User get(@PathVariable("id") int id) {
        return userRepository.find(Id);
    }

    // .......

}    

这是我的web.xml映射

<url-pattern>/*</url-pattern>

1 个答案:

答案 0 :(得分:0)

在课堂上放一个明星:

@RequestMapping(value="/rest/*")

或者:

@RequestMapping(value="/`enter code here`rest/users")  // at class level
@RequestMapping(method=RequestMethod.POST) // at method level for post
@RequestMapping(method=RequestMethod.GET) // at method level for get

请参阅此链接:

https://howtodoinjava.com/spring/spring-mvc/spring-mvc-requestmapping-annotation-examples/