In Spring 3, old RequestMapping class is enhanced to support RESTful features, which makes Spring developers easier to develop REST services in Spring MVC.

In this tutorial, we show you how to use Spring 3 MVC annotations to develop a RESTful style web application.

1. Project Directory

Review the project folder structure.

2. Project Dependency

To develop REST in Spring MVC, just include the core Spring and Spring MVC dependencies.




		<!-- Spring 3 dependencies -->





3. REST Controller

For Spring RESTful, you need PathVariable, RequestMapping and RequestMethod. Following code should be self-explanatory.

package com.mkyong.common.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

public class MovieController {

	@RequestMapping(value = "/{name}", method = RequestMethod.GET)
	public String getMovie(@PathVariable String name, ModelMap model) {

		model.addAttribute("movie", name);
		return "list";


	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String getDefaultMovie(ModelMap model) {

		model.addAttribute("movie", "this is default movie");
		return "list";



4. JSP Views

A JSP page to display the value.


	<h1>Spring 3 MVC REST web service</h1>
	<h2>Movie Name : ${movie}</h2>	

5. Demo

See REST URLs demonstration.

URL : http://localhost:8080/SpringMVC/movie/ironMan

Spring MVC REST demo

URL : http://localhost:8080/SpringMVC/movie/SpiderMan4

spring mvc rest demo

Download Source Code