RESTeasy
been looking over the new RESTeasy library for JBoss this week. looks like there are lots of good things there. a sample the offer:
@Path("/library") public class Library { @GET @Path("/book") public String getBooks() {...} @GET @Path("/book/{isbn}") public String getBook(@PathParm("isbn") String id) { // search my database and get a string representation and return it } @PUT @Path("/book/{isbn}") public void addBook(@PathParam("isbn") String id, @QueryParam("name") String name) {...} @DELETE @Path("/book/{id}") public void removeBook(@PathParam("id") String id {...} }
for my taste, this is a bit more attributes than needed. again, i like the KISS approach that uses baseclasses with just five public methods (Get(),Put(),Post(),Delete(),Options()
). if you're writine HTTP apps, that's all you need. the REST[g] is icing.
also, the @ConsumeMime
and @ProduceMime
attributes are nice to see. support for representations must be first class in any quality REST library.
there are lots of nice things here, but one that i miss is first-class support for web caching. again, solid HTTP REST libraries need to make support for intermediaries easy and reliable.