@PathVariable аннотация работает по-разному с прокси на основе интерфейса / класса - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть интерфейс UserController и класс UserControllerImpl.Когда я добавляю @RequestMapping и @PathVariable в UserControllerImpl, и я использую прокси на основе класса, я могу получить пользователя, используя этот URL:

GET: http://localhost:8080/company-control/users/25

Когда я меняю прокси наосновываясь на интерфейсе и добавив к интерфейсу @RequestMapping и @PatyVariable, я не могу получить его и получаю следующую ошибку:

Ошибка обработки запроса;вложенное исключение - java.lang.IllegalArgumentException: имя для типа аргумента [int] недоступно, и информация об имени параметра также не найдена в файле класса.

Я могу решить эту проблему, добавив "userId"в @ PathVariable.

@ GetMapping ("/ {userId}")

public User getUser (@PathVariable ("userId") int userId);

Может кто-нибудь объяснить мне, почему я должен добавить "userId" в @PathVariable, если я использую то же имя переменной?Это связано с прокси?

...