Subscribe to RSS Feed
Twitter
HIRE ME! home  archives  about  blogroll

Rails, REST, Java HttpClient.

19 Aug 2008

Ondertussen weten we allemaal dat heel het REST gebeuren tegenwoordig in Rails zit ingebakken. REST resources implementeren wordt u bijna in de schoot geworpen en met ActiveResource is het nog makkelijk te gebruiken ook.

Vandaag moest ik onze Rails app aanspreken vanuit Java. Eenvoudigste weg is dus via REST, en in Java was dat nieuw voor mij. Wat heb gebruikt? Jakarta Commons HttpClient.

Hoe ziet dat er uit (in een vereenvoudigde versie)?


HttpClient client = new HttpClient();
client.getState().setCredentials(
    new AuthScope("localhost", 3000),
    new UsernamePasswordCredentials(username, password));
PostMethod pm = new PostMethod("http://localhost:3000/examples");
try {
    String xml = "<example><title>first example</title></example>"
    pm.setRequestEntity(new StringRequestEntity(xml,"text/xml","ISO-8859-1"));
    client.executeMethod(pm);
} finally {
    pm.releaseConnection();
}

Rails maakt automatisch van de binnengekomen xml een hash met de ‘Example’ attributen:

{ "example" => { "title" => "first example" } }

Zo hebben we dan vanuit Java een nieuw ‘Example’ resource gecreĆ«erd in onze Rails app. Zijn er betere manieren? Let me know.

blog comments powered by Disqus