gpt4 book ai didi

jersey - 有没有办法将 JAX-RS 资源链接到 Spring HATEOAS 中的另一个资源?

转载 作者:行者123 更新时间:2023-12-01 23:50:46 24 4
gpt4 key购买 nike

在 Spring 中,我们有 @ExposesResourceFor 注释,它可以将我们的资源与其他资源链接起来。由于这一点,我们的值对象(表示)对实际资源一无所知。

有没有办法在 JAX-RS 中做到这一点?我将 Dropwizard 与 Jersey 和 Jackson 一起使用,我看到的只是 @InjectLinks 注释,我可以在这样的值对象中使用它:

public class UserGroup {
@JsonProperty
public String name;

@InjectLinks(GroupsResource.class)
public URI myResource;

public UserGroup(String name){
this.name = name;
}
}

但不幸的是,我的值对象应该对资源一无所知,所以我想问我能否在资源级别进行这种链接 - Controller 中的 spring-hateoas 链接,如上所述。

最佳答案

使用@InjectLinks,您不必在模型类中声明链接。您可以创建一个“包装器” 表示类,如declarative-linking 所示。来自 Jersey examples (虽然这个解决方案并不像您希望的那样真正处于资源类级别)。

另一种可能的解决方案(而不是声明式链接)是使用 JAX-RS 2.0 Link类,并以编程方式 进行链接(与 Jersey 实现/注释无关)。您可以将链接添加到您的响应 header ,请参阅 here ,或将 Link 添加到您的模型类中,如 here 所示(或者也为此使用包装类,以免侵入您的模型类)

一些资源

关于jersey - 有没有办法将 JAX-RS 资源链接到 Spring HATEOAS 中的另一个资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26713091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com