首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在构造函数弃用后扩展spring-hateoas Link类

在构造函数弃用后扩展spring-hateoas Link类
EN

Stack Overflow用户
提问于 2020-12-08 22:15:25
回答 1查看 293关注 0票数 0

在我的应用程序中,我有一个扩展了spring-hateoas Link类的类:

代码语言:javascript
复制
class LinkWithAdditionalField extends Link {
    private final String additionalField;

    LinkWithAdditionalField(String href, String rel, String additionalField) {
        super(href, rel);
        this.additionalField = additionalField;
    }

    ...
}

这会向模型表示中添加额外的字段:

代码语言:javascript
复制
"_links" : {
    "self" : {
        "href": "https://example.com/...",
        "additionalField": "additionalValue"
    }
}

它是这样使用的:

代码语言:javascript
复制
LinkWithAdditionalField link = (LinkWithAdditionalField) entityModel.getLinks().toList().get(index)
String additionalField = link.getAdditionalField();

它正在工作,但是1.1版本的spring-hateoas不推荐使用Link(String, String)构造函数(并推荐使用静态方法Link.of(String, String))。

有没有推荐的方法(一些我缺少的新API?)要做到这一点,在将Spring升级到最新版本之后,允许向链接添加额外的字段吗?

使用组合(和静态方法Link.of(String, String)):

代码语言:javascript
复制
class LinkWithAdditionalField {
    private final Link link;
    private final String additionalField;

    LinkWithAdditionalField(String href, String rel, String additionalField) {
        this.link = Link.of(href, rel);
        this.additionalField = additionalField;
    }

    ...
}

在我的情况下不会工作,因为类型转换:

代码语言:javascript
复制
LinkWithAdditionalField link = (LinkWithAdditionalField) entityModel.getLinks().toList().get(index)
EN

回答 1

Stack Overflow用户

发布于 2020-12-08 22:27:13

查看org.springframework.hateoas.Link的源代码,静态方法Link.of(href, relation)只调用已弃用的构造函数Link(href, relation)

代码语言:javascript
复制
public static Link of(String href, String relation) {
    return new Link(href, relation);
}

所以你可以坚持你的原始代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65200628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档