REST Spring 3.0 - Simple Introduction
This post is going to be a very simple introduction to the RestTemplate API introduced in Spring 3.0.
The RestTemplate is similar to other Spring templates
such as JmsTemplate and JdbcTemplate in that Spring eliminates a lot of
boot strap code and thus makes your code much cleaner. When
applications use the RestTemplate they do not need to worry about HTTP
connections, that is all encapsulated by the template. They also get a
range of APIs from the RestTemplate which correspond to the well know
HTTP methods (GET, PUT, POST, DELETE, HEAD, OPTIONS). These APIs are
overloaded to cater for things like different ways of passing
parameters to the actual REST API. Ok, so let's look a very simple
example. Suppose we want to invoke a well know Twitter REST API to
check the Twitter timeline for the user "dublintech". This API would
takes form: http://twitter.com/statuses/user_timeline.xml?id=dublintech
Fire it into your web browser and you'll see you get back the timeline for dublintech in XML. But you don't want to fire it into your browser, you want to invoke the API in a Java program! Let's do that.
That's it. Isn't that incredibly simple. No HTTP Connection handling to worry about. Import one Spring 3.0 class, use it and that's it! Yes, this post was a very simple introduction. In the real world, if you were using this API you'd obviously be doing something a little more sophisticated for example using XPath to get specific information out of the XML returned. But we don't need to cover that. The point of this post was really to point how easy it is to use some of the REST 3.0 Spring features. In future posts we'll be looking at more advanced features.
References:
1. http://static.springsource.org/spring/docs/3.0.x/javadoc-api/
2. http://blog.springsource.org/2009/03/27/rest-in-spring-3-resttemplate/
3. https://dev.twitter.com/docs/api Twitter REST API
4. Roy Fielding's original REST Paper: http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
Published at DZone with permission of Alex Staveley, author and DZone MVB.![]() |
| Dogs know how to REST! |
Fire it into your web browser and you'll see you get back the timeline for dublintech in XML. But you don't want to fire it into your browser, you want to invoke the API in a Java program! Let's do that.
import org.springframework.web.client.RestTemplate;
public class Spring3RestTest {
public static void main(String args[]) {
Spring3RestTest test = new Spring3RestTest();
test.getTimeline();
}
private void getTimeline() {
RestTemplate restTemplate = new RestTemplate();
String response =
restTemplate.getForObject("http://twitter.com/statuses/user_timeline.xml?id=dublintech", String.class, new Object[]{});
System.out.println("Response is=" + response);
}
}That's it. Isn't that incredibly simple. No HTTP Connection handling to worry about. Import one Spring 3.0 class, use it and that's it! Yes, this post was a very simple introduction. In the real world, if you were using this API you'd obviously be doing something a little more sophisticated for example using XPath to get specific information out of the XML returned. But we don't need to cover that. The point of this post was really to point how easy it is to use some of the REST 3.0 Spring features. In future posts we'll be looking at more advanced features.
![]() |
| For now - keep it simple! |
1. http://static.springsource.org/spring/docs/3.0.x/javadoc-api/
2. http://blog.springsource.org/2009/03/27/rest-in-spring-3-resttemplate/
3. https://dev.twitter.com/docs/api Twitter REST API
4. Roy Fielding's original REST Paper: http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
From http://dublintech.blogspot.com/2011/11/rest-spring-30-simple-introduction.html
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)
Tags:








Comments
Cafebabe Ru(ssia) replied on Mon, 2011/12/12 - 6:59am
Charlie Mordant replied on Mon, 2011/12/12 - 7:41am
Cafebabe Ru(ssia) replied on Mon, 2011/12/12 - 7:59am
in response to:
Charlie Mordant
> RestEasy is about as old as Spring Rest.
wrong:
January 21, 2009. RESTEasy 1.0.0.GA released and certified
Spring 3 was out about a year later
Sandeep Bhandari replied on Mon, 2011/12/12 - 11:44am
John David replied on Tue, 2011/12/20 - 11:27am
I think Spring is not reinventing the wheel. It is providing support for REST web services.
Spring has already lot to offer and its integration with web services is a new milestone.
Carla Brian replied on Sat, 2012/04/28 - 10:58pm