Spring @RequestMapping注释到不同的位置

贵有恒,何必三更起、五更眠、最无益,只怕一日曝、十日寒。这篇文章主要讲述Spring @RequestMapping注释到不同的位置相关的知识,希望能为你提供帮助。
我想要得到类似的东西

http://localhost/ - display Welcome page http://localhost/api/v1/getUser - do the `getUser` controller part http://localhost/api/v1/addUser - do the `addUser` controller part

【Spring @RequestMapping注释到不同的位置】所以我为那部分创建了简单的控制器
@RestController public class restController {@GetMapping("/") public String restAPI() {return "Welcome Page"; }@RequestMapping("/api/v1") @PostMapping("/addUser") @ResponseBody public User addUser(@RequestBody User user) { //do the stuff }@RequestMapping("/api/v1") @GetMapping("/getUser") @ResponseBody public User getUser(@RequestBody User user) { //do the stuff }

我得到的只是欢迎页面,但任何端点都无法访问。当我删除了负责restAPI()的部分时,我能够达到这两个端点。
有没有办法混合@RequestMapping
答案最好的解决方案是创建两个这样的控制器:
@RestController @RequestMapping("/") public class HomeController {@GetMapping public String restAPI() {return "Welcome Page"; } }

如果您向http://localhost/发送GET请求,则显示欢迎页面。
和:
@RestController @RequestMapping("/api/v1") public class UserController {@PostMapping public User addUser(@RequestBody User user) { //do the stuff }@GetMapping public User getUser(@RequestBody User user) { //do the stuff } }

通过向http://localhost/api/v1/发送POST或GET并创建用户或获取用户。

    推荐阅读