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

问题描述 投票:1回答:1

目前我正在尝试使用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.RELEASE

谢谢

spring-boot spring-hateoas
1个回答
1
投票

关于问题1)添加以下依赖关系,不要忘记这个依赖于Spring Milestone Repository。

<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)恕我直言,一个强类型(响应)对象应该几乎在任何地方都是首选,因为它使你的意图更清晰,更容易维护和测试,让你摆脱任何关于转换或隐式类型转换的担忧等等。

© www.soinside.com 2019 - 2024. All rights reserved.