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:
http://somehost/contacts/contactId
Could return an XML document for a contact where the contactId=234:
http://somehost/contacts/234
In this example, we might be executing the following Java method:
@HttpMethod("GET")
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:
http://somehost/contacts/some_person
A 404 error is returned rather than a 500. In addition to numeric URI template types, RESTEasy will support custom types as well.