Jersey 有没有办法将JAX-RS资源链接到SpringHateoas中的另一个资源?
在春天,我们有了Jersey 有没有办法将JAX-RS资源链接到SpringHateoas中的另一个资源?,jersey,jax-rs,dropwizard,hateoas,spring-hateoas,Jersey,Jax Rs,Dropwizard,Hateoas,Spring Hateoas,在春天,我们有了@ExposesResourceFor注释,它可以将我们的资源与其他资源链接起来。由于这一点,我们的价值对象(表示)对实际资源一无所知 在JAX-RS中有这样做的方法吗?我将Dropwizard与Jersey和Jackson一起使用,我看到的只是@InjectLinks注释,我可以在这样的值对象中使用它: public class UserGroup { @JsonProperty public String name; @InjectLinks(Gro
@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;
}
}
但不幸的是,我的值对象应该对资源一无所知,所以我在问我是否可以在资源级别上进行此类链接-spring hateoas中的链接,就像上面提到的控制器中的链接一样。使用
@InjectLinks
,您不必在模型类中声明链接。您可以创建一个“包装器”表示类,如中所示(尽管此解决方案并非如您所希望的那样位于资源类级别)
另一种可能的解决方案(而不是声明性链接)是使用JAX-RS2.0类,并以编程方式进行链接(与Jersey实现/注释无关)。您可以将链接添加到您的响应头,如图所示,或者将Link
s添加到您的模型类,如图所示(或者也可以使用包装器类,以免侵入您的模型类)
一些资源