Java Jersey声明性链接不';行不通

Java Jersey声明性链接不';行不通,java,web-services,rest,jersey,Java,Web Services,Rest,Jersey,我尝试用Jersey创建一个restfull web服务。我想在回应该请求时提供一个链接: GET /mac/ws/gtm HTTP/1.1 Host: localhost:8080 Accept: application/json Cache-Control: no-cache 我希望得到的答复是: HTTP/1.1 200 OK link: </dossiers>;rel=dossiers { "message": "Hello" } 链接不可生成 查看我的Gtm资

我尝试用Jersey创建一个restfull web服务。我想在回应该请求时提供一个链接:

GET /mac/ws/gtm HTTP/1.1
Host: localhost:8080
Accept: application/json
Cache-Control: no-cache
我希望得到的答复是:

HTTP/1.1 200 OK
link: </dossiers>;rel=dossiers

{
    "message": "Hello"
}
链接不可生成

查看我的Gtm资源:

@Component
@Path("/gtm")
public class GTmRessource
{
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public GTm getJson()
    {
        GTm gtm = new GTm();
        return gtm;
    }
}
和我的Gtm实体

@XmlRootElement()
@Link(value = @Ref(value = "/dossiers", method = "get"), rel = "dossiers")
public class GTm
{
    String message = "Hello";

    public String getMessage()
    {
        return message;
    }

    public void setMessage(String message)
    {
        this.message = message;
    }
}
怎么了

谢谢你的帮助。 通过

参见

您需要以编程方式添加
LinkFilter

resourceConfig.getContainerResponseFilters().add(LinkFilter.class);
或者通过web.xml

<init-param>
  <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
  <param-value>com.sun.jersey.server.linking.LinkFilter</param-value>
</init-param>

com.sun.jersey.spi.container.ContainerResponseFilters
com.sun.jersey.server.linking.LinkFilter

C:\>curl-ihttp://localhost:8080/gtm
HTTP/1.1200ok
内容类型:application/json
链接:;rel=档案
日期:2014年12月4日星期四12:38:06 GMT
传输编码:分块
{“消息”:“你好”}
<init-param>
  <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
  <param-value>com.sun.jersey.server.linking.LinkFilter</param-value>
</init-param>
C:\>curl -i http://localhost:8080/gtm

HTTP/1.1 200 OK
Content-Type: application/json
Link: </dossiers>;rel=dossiers
Date: Thu, 04 Dec 2014 12:38:06 GMT
Transfer-Encoding: chunked

{"message":"Hello"}