- ВКонтакте
- РћРТвЂВВВВВВВВнокласснРСвЂВВВВВВВВРєРСвЂВВВВВВВВ
- РњРѕР№ Р В Р’В Р РЋРЎв„ўР В Р’В Р РЋРІР‚ВВВВВВВВРЎР‚
- Viber
- Skype
- Telegram
Как мне связать два сервиса на Spring , чтобы один обращался к другому?
Есть проект, в одном есть сервис, DTO с классом
Clientsinfo
, контроллер.
Мне нужно сделать другой проект, в котором сервис будет обращаться каждый час к первому и получать информацию о клиентах.
Но я не знаю как мне их связать, в Google прочитал, что RestTemplate
служит связью между сервисами, но класс Clientsinfo
по прежнему не виден.
Ответы (2 шт):
Для того, чтобы можно было использовать один класс в двух или нескольких проектах, его надо вынести в отдельный проект, который создаёт .jar файл после компиляции.
Затем добавить полученный .jar в зависимости к обоим проектам.
Или же просто добавить зависимость от другого проекта. Тогда требуемый класс будет виден в другом проекте, но при этом будет видно также много ненужного.
Поэтому, лучше воспользоваться первым способом.
Хотя, при этом можно сам проект добавить в зависимости. Или же подумать, как создать модуль из классов, которые следует разделять в обоих проектах и подключить его.
Ты должен в новом проекте сделать клиент через RestClient
или WebClient
(RestTemplate
считается устаревшим).
Этот клиент будет делать GET-запрос по url первого проекта, в первом проекте должен был контроллер, обрабатывающий GET-запросы, т.е. помеченный аннотацией @GetMapping(value = "/clients")
, например, и возвращающий DTO
клиентов. Новый проект получит это DTO
и дальше уже обрабатывайте его в зависимости от целей и задач.