URI Templates in RESTEasy

One nice feature of RESTEasy is its support for URI Templates. The URI Template spec defines a means of embedding variables in the URI. So the following URI Template:


Could return an XML document for a contact where the contactId=234:


In this example, we might be executing the following Java method:

public Contact getContactById(@URLParam("contactId") Long contactId) {
    Contact contact = entityManager.find(Contact.class, contactId);
    return contact;

Since the contactId parameter is a Long, RESTEasy will assign a regular expression that matches a digit rather than a String value. The effect of this is that if you try and access:


A 404 error is returned rather than a 500. In addition to numeric URI template types, RESTEasy will support custom types as well.