11

我有许多使用 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 不在我当前正在访问的服务的类路径上,我将无法执行此操作。

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

引用自春季论坛

4

1 回答 1

1

也许这比您希望的要复杂一些,但正如这里提到的,这正是Eureka的用途。它还与新的Spring Cloud项目有很好的集成。

于 2015-02-20T15:41:36.933 回答