当前,我正在尝试使用Spring及其相关组件将.NET中内置的API迁移到Java。阻止我完成此项目的唯一一件事是,当前发行版的Spring HATEOAS(0.25.1)中缺少Affordances,我正在尝试尽可能地复制数据协定,以防止破坏当前正在使用该协议的客户端。 API。
Spring HATEOAS通过spring-boot-starter-hateoas Maven依赖关系包括在内。
我已经尝试了有关启动程序依赖项的当前构建快照,但无济于事(最新的spring-hateos lib不包含在启动程序构建快照中)。
1)是否可以将当前的里程碑版本包含到我的项目中?如果是这样,您如何建议我这样做。
2)如果没有办法,是否有人对如何将Affordance概念添加到当前版本有任何建议? (此时无需承担任何技术债务,因此,如果您的工作不够周全,请分享一下,这将在概念上为我提供帮助。)
3)将HTTP返回对象创建为HashMap并将其序列化为JSON是一个更好的主意吗? (我知道路径链接等需要手动处理)
其他版本: spring-boot-starter-parent:2.1.3版本
谢谢
答案 0 :(得分:1)
关于问题1):添加以下依赖项,并且不要忘记此依赖项目前是从Spring Milestone存储库中获得的。
<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>
或者,您可以使用版本spring-boot-starter
中的整个2.2.0.M1
,该版本在spring-boot-starter-hateoas
中也包含1.0.0.M1
。
问题2)应该不再与您有关,问题1)似乎更容易解决。
关于问题3),恕我直言,几乎在任何地方都应首选强类型(响应)对象,因为它使您的意图更清晰,更易于维护和测试,并且使您免于任何烦恼关于强制转换或隐式类型转换等。