如何将包含 spring-hateoas 版本 1.0.0.M1 的 spring-boot-hateoas-starter 包含到我的项目中

How do I include the spring-boot-hateoas-starter which contains spring-hateoas version 1.0.0.M1 into my project

目前,我正在尝试使用 Spring 及其相关组件将 .NET 中内置的 API 迁移到 Java。唯一阻止我完成这个项目的是 Spring HATEOAS (0.25.1) 的当前发行版中缺少可供性,我正在尝试尽可能地复制数据契约以防止破坏当前使用 API.

的客户

Spring HATEOAS 通过 spring-boot-starter-hateoas Maven 依赖包含。

我已经尝试了入门依赖项的当前构建快照但无济于事(最新的 spring-hateos 库未包含在入门构建快照中)。

1) 有没有办法将当前的里程碑版本包含到我的项目中?如果是这样,你建议我怎么做。

2) 如果没有办法做到这一点,有没有人对如何将 Affordance 概念添加到当前版本有什么建议? (此时产生一些技术债务不是问题,所以如果您有不雅的解决方法请分享,这在概念上对我有帮助)。

3) 将 HTTP return 对象创建为 HashMap 并将其序列化为 JSON 是否更好? (我知道 link 的路径等需要手动处理)

其他版本: spring-boot-starter-parent: 2.1.3.RELEASE

谢谢

关于问题 1) 添加以下依赖项并且不要忘记这个依赖项目前来自 Spring 里程碑存储库。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-hateoas</artifactId>
    <version>2.2.0.M1</version>
</dependency>

<repositories>
    <repository> 
        <id>repository.spring.milestone</id> 
        <name>Spring Milestone Repository</name> 
        <url>http://repo.spring.io/milestone</url> 
    </repository>
</repositories>

或者,您可以在 2.2.0.M1 版本中使用整个 spring-boot-starter,它还包含 1.0.0.M1 中的 spring-boot-starter-hateoas

问题2)应该不用担心了,问题1)似乎更容易解决。

关于问题 3) 恕我直言,几乎所有地方都应该首选强类型(响应)对象,因为它使您的意图更清晰,更易于维护和测试,并且设置您无需担心转换或隐式类型转换等问题。