REST Spring 3.0 - Simple Introduction
Join the DZone community and get the full member experience.
Join For FreeThis 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
![]() |
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.
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
REST
Web Protocols
Spring Framework
Opinions expressed by DZone contributors are their own.
Comments