Spring @RequestMapping аннотации в разных местах - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь получить что-то вроде

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

, поэтому я создал простой контроллер для этой части

@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?

1 Ответ

0 голосов
/ 11 февраля 2019

Лучшим решением было бы создать два таких контроллера:

@RestController
@RequestMapping("/")
public class HomeController {

    @GetMapping
    public String restAPI() {

        return "Welcome Page";
    }
}

Если вы отправите запрос GET на http://localhost/, вы увидите страницу приветствия.

И:

@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
    }
}

Отправив POST или GET на http://localhost/api/v1/ и создайте пользователя или получите его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...