Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring HATEOAS微服务的交叉服务链接_Spring_Spring Boot_Hateoas_Spring Hateoas_Microservices - Fatal编程技术网

Spring HATEOAS微服务的交叉服务链接

Spring HATEOAS微服务的交叉服务链接,spring,spring-boot,hateoas,spring-hateoas,microservices,Spring,Spring Boot,Hateoas,Spring Hateoas,Microservices,我有很多用SpringBoot构建的微服务,所以为了好玩,我想我应该尝试向它们添加HATEOAS来帮助建立交叉资源链接。在一个特定的项目中,它似乎工作得很好,但我想知道是否有一种跨API链接的好方法。例如,假设我有3个服务: 用户详细信息服务: 代码: 用户日历服务: 代码: 用户消息服务: 代码: 要通过API进行浏览,最好有从用户资源到其约会和消息的链接。类似地,从这些资源中获得链接也很好。当我有一个API包含类路径上的所有内容时,这一切都是可以实现的,在这里我可以编写如下代码: 代码: 但

我有很多用SpringBoot构建的微服务,所以为了好玩,我想我应该尝试向它们添加HATEOAS来帮助建立交叉资源链接。在一个特定的项目中,它似乎工作得很好,但我想知道是否有一种跨API链接的好方法。例如,假设我有3个服务:

用户详细信息服务: 代码:

用户日历服务: 代码:

用户消息服务: 代码:

要通过API进行浏览,最好有从用户资源到其约会和消息的链接。类似地,从这些资源中获得链接也很好。当我有一个API包含类路径上的所有内容时,这一切都是可以实现的,在这里我可以编写如下代码:

代码:

但是,如果CalendarController不在我当前使用的服务的类路径上,我将无法执行此操作

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


引用自

也许这比你希望的要复杂一些,但正如前面提到的,这正是它的用途。它还与新项目进行了很好的集成。

我们遇到了完全相同的问题。我们考虑过使用一个JAR来定义路径,并将其与公开路径的资源共享,并让API相互通信。这两种解决方案都有缺点。迫不及待地想知道关于这个的答案是的,这里也是。我们正在考虑开发自己的DSL,用于建立和共享链接。在我们的用例中,链接将共享到zookeeper节点,然后服务可以请求到其他资源的链接。如果SpringHateoas现在或在不久的将来提供了一个解决方案,那么最终沿着这条路走下去会很好。我想我们也在问同样的问题。
/users/{userid}
/users/{userid}/appointments
/users/{userid}/appointments/{appointmentid}
/users/{userid}/messages
/users/{userid}/messages/{messageid}
user.add(linkTo(methodOn(CalendarController.class).appointments(user.getKey())).withRel("appointments"))