У меня есть несколько микросервисов, построенных с помощью Spring Boot, поэтому для немного потехи я подумал, что мне нужно добавить HATEOAS, чтобы помочь настроить крест -ресурсное связывание. Кажется, он работает очень хорошо в рамках конкретного проекта, но мне было интересно, есть ли хороший способ связать API. В качестве примера, представьте себе, у меня есть 3 услуги:Перекрестное сервисное связывание для микросервисов HATEOAS
Реквизиты пользователя службы: Код:
/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 является а не на пути класса сервиса, который я сейчас нажимаю.
Есть ли хороший/рекомендуемый метод для создания ссылок на контроллеры, которые не находятся в текущем проекте?
Реферировано из spring forums
у нас ТОЧНАЯ такая же проблема. Мы рассмотрели наличие JAR, который определяет пути и общий доступ к ним, а также ресурсы, которые раскрывают пути и имеют API-интерфейсы друг с другом. оба решения имеют недостатки. Не могу дождаться, чтобы увидеть какие-либо ответы об этом –
Да, здесь. Мы думаем о разработке собственной DSL для создания и обмена ссылками. В нашем случае ссылки будут разделяться узлу zookeeper, после чего службы могут запрашивать ссылки на другие ресурсы. Если Spring HATEOAS предлагает решение сейчас или в ближайшем будущем, было бы неплохо следовать этому пути в конечном итоге. – keaplogik
Думаю, мы спрашиваем об одном и том же. http://stackoverflow.com/questions/27790905/how-to-establish-relationships-between-spring-data-rest-spring-hateoas-based – code