@GetMapping и @GetMapping ("/ {id}") всегда возвращают @GetMapping ("/ {id}") - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть два метода @GetMapping и @GetMapping ("/ {id}")

@RestController("/user"){
public class UserRestController {

@GetMapping
public ResponseData get() {
      ...........
    return responseData;
}

@GetMapping("/{id}")
public ResponseData getUser(@PathParam("id") Long id) {
    ResponseData responseData = new ResponseData();
      ...........
    return responseData;
}

Когда я нажимаю на URL http://localhost:8080/user, я взял I @GetMapping (" / {id} "), потому что он принимает id ноль, как я могу решить эту проблему?

1 Ответ

4 голосов
/ 25 февраля 2020

Вы смешиваете PathParam с PathVariable.

В вашем примере, я думаю, что вам нужно это PathVariable. Кроме того, вы можете удалить поле name, так как имя параметра совпадает: id.

Вот обновленный код:

@GetMapping("/{id}")
public ResponseData getUser(@PathVariable Long id) {
   ...
}

Кроме того, то, что вы ищете для определения ваших user отображений под тем же контроллером, это RequestMapping аннотация:

@RestController
@RequestMapping("/user")
public class UserRestController {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...