使用JaxB适配器的Jersey声明性链接会错误地呈现链接

时间:2014-08-14 16:41:07

标签: jaxb moxy jersey-2.0

我试图遵循声明性链接示例: http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22declarative-linking%22

这是我的代码:

@InjectLink(   
        resource = FolderResource.class,  
        method = "query",   
        style = Style.ABSOLUTE,   
        bindings = {@Binding(name = "requestCount", value="99")   
        },   
        rel = "${rel}"  
)   
@XmlJavaTypeAdapter(Link.JaxbAdapter.class)
@XmlAttribute 
private Link href;

当我运行它时,我得到了这个:

.....
       "href": "javax.ws.rs.core.Link$JaxbLink@41a741a7",
.....

而不是实际的链接。

如果我使用String类型而不是Link而不使用@XmlJavaTypeAdapter(Link.JaxbAdapter.class),我会得到一个正确的链接,但没有查询参数。

请告诉。

1 个答案:

答案 0 :(得分:1)

尝试使用MOXY生成JSON输出时遇到了同样的问题。但是,当XML设置为Accept Header时,它很有效。

我使用Gson作为JSON提供程序编写了MessageBodyWriter和MessageBodyRighter。不幸的是,这打破了SelectableEntityFilteringFeature,因为此功能取决于MOXY。