2014-11-03 66 views
3

在Spring中,我們有@ExposesResourceFor註釋,它可以將我們的資源與其他資源相鏈接。由於這個,我們的Value對象(表示)完全不知道實際的資源。有沒有辦法將JAX-RS資源鏈接到Spring HATEOAS中的其他資源?

有沒有辦法在JAX-RS中做到這一點?我使用Dropwizard與新澤西州和傑克遜和所有我看到的是@InjectLinks註釋,我可以在一個值對象使用這樣:

public class UserGroup { 
    @JsonProperty 
    public String name; 

    @InjectLinks(GroupsResource.class) 
    public URI myResource; 

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

但可惜的是我的值對象竟然一無所知資源,所以我我問我能否在資源水平上做這樣的鏈接 - 如上所述,在控制器中的春天 - 討厭的鏈接。

回答

3

@InjectLinks,你不要宣佈你的模型類的鏈接。您可以創建一個「包裝器」表示類,如Jersey examples中的declarative-linking所示(儘管此解決方案不像您希望的那樣真正處於資源類級別)。

另一種可能的解決方案(而不是聲明聯)是使用JAX-RS 2.0 Link類,然後執行連接編程(沒有聯繫的澤西執行/註釋)。您可以將鏈接添加到您的響應標題中,如here,或者將Links添加到您的模型類,如看到here(或者使用包裝類爲此,以免侵入您的模型類)

一些資源

+0

我決定去與頭的方法。謝謝! – 2014-11-03 15:28:17

相關問題