HATEOAS微服务的跨服务链接

时间:2014-11-10 23:33:32

标签: spring spring-boot hateoas spring-hateoas microservices

我有许多使用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不在我目前正在服务的服务的类路径上,我就无法做到这一点。

是否有一个好的/推荐的方法来创建不在当前项目中的控制器的链接?

引自spring forums

1 个答案:

答案 0 :(得分:1)

也许这比你希望的更多一些,但如上所述here,这正是Eureka的用途。它还与新的Spring Cloud项目很好地集成。