我有许多使用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不在我目前正在服务的服务的类路径上,我就无法做到这一点。
是否有一个好的/推荐的方法来创建不在当前项目中的控制器的链接?