У меня есть несколько микросервисов, созданных с помощью Spring Boot, поэтому для развлечения я решил добавить к ним HATEOAS, чтобы помочь настроить межресурсное связывание. Кажется, это неплохо работает в конкретном проекте, но мне было интересно, есть ли хороший способ связать API. В качестве примера представьте, что у меня есть 3 службы:
Служба сведений о пользователе: Код:
/users/{userid}
Служба пользовательского календаря: Код:
/users/{userid}/appointments
/users/{userid}/appointments/{appointmentid}
Служба обмена сообщениями пользователей: Код:
/users/{userid}/messages
/users/{userid}/messages/{messageid}
Чтобы сделать это доступным для просмотра через API, было бы хорошо иметь ссылки с пользовательского ресурса на его встречи и сообщения. Точно так же было бы неплохо иметь обратные ссылки с этих ресурсов. Это все очень достижимо, когда у меня есть единый API со всем в пути к классам, где я могу написать такой код, как:
Код:
user.add(linkTo(methodOn(CalendarController.class).appointments(user.getKey())).withRel("appointments"))
Однако я не могу этого сделать, если CalendarController не находится в пути к классам службы, которую я сейчас использую.
Есть ли хороший/рекомендуемый способ создания ссылок на контроллеры, которых нет в текущем проекте?
Ссылка на весенние форумы