# Link Serialization With JAX-RS 2+

JAX-RS 2+ supports rfc5988 compliant and JAXB-serializable links.


A Link can be treated as an 
ordinary payload:



import javax.ws.rs.core.Link;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Message {

    @XmlJavaTypeAdapter(Link.JaxbAdapter.class)
    private Link airhacksLink;

    public Message() {
        this.airhacksLink = Link.fromUri("http://airhacks.com").
                rel("workshops").
                build();
    }
}



An entity directly exposed via:


@Path("messages")
public class MessagesResource {

    @GET
    public Message get() {
        return new Message();
    }
}



produces the following output:


<message>
	<airhacksLink href="http://airhacks.com" rel="workshops"/>
</message>




See you at Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting
