Hello World/Hola Mundo con RESTFul y Spring 3

Hola Amigos,

Acá un pequeño tutorial de como hacer RestFulcon Spring 3.

http://renidev.javabolivia.com/2009/12/06/hello-worldhola-mundo-con-rest...

Introducción.

Este es un ejemplo sencillo de RESTFul usando Spring 3 claro usando maven :)
Para este ejemplo estamos usando el Release Candidate 3 de Spring 3

Dependencias Maven

Solo se necesita una para este ejemplo

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.0.0.RC2</version>
        </dependency>

Repositorio Maven de Spring 3

        <repository>
            <id>SpringSource Maven Milestone Repository</id>
            <url>http://maven.springframework.org/milestone</url>
        </repository>

Declarando Spring Servlet

La servlet del spring framework se la declara en el web.xml.
Notemos que en el url-pattern, estamos indicando que vamos a mapear cualquier request a la servlet de spring.

    <servlet>
        <servlet-name>mytest</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>mytest</servlet-name>
        <url-pattern>*</url-pattern>
    </servlet-mapping>

Declarando RESTFul Controller

El secreto esta en la anotación RequestMapping. En este caso, el nombre de la variable en url y en java son las mismas, pero se puede personalizar.

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
...
 
/**
 * @author Renan Huanca
 * @since Nov 22, 2009  10:54:31 AM
 */

 
@Controller
public class RestController {
 
    @RequestMapping("/{tunombre}/")
    public void readTable(@PathVariable String tunombre,
                          HttpServletRequest request,
                          HttpServletResponse response){
        PrintWriter writer = response.getWriter();
        writer.print("Hola Mundo<br/>");
        writer.print("Como estas "+tunombre);
    }
 
}

Referencias

REST in Spring 3: @MVC

Renan.