miércoles, 4 de junio de 2014

Spring MVC (Servicios Rest)

Hola

En esta entrada voy hablar como hacer servicios rest con Spring MVC, como bien sabéis anteriormente había publicado como hacer servicios rest con Jersey y RestEasy. Spring para poder adaptarse a elegido a Spring MVC dar mas funcionalidad en vez de crear una nuevo modulo para los servicios rest. Si habeis programdor aplicaciones web con Spring MVC el aprendizaje va ser casi instantaneo y si veneis de Jersey o RestEasy su aprendizaje tambie va ser rápido.

Las Capas de Servicios y Dao son iguales que en los ejemplos que tenemos en Jersey y RestEasy por eso voy a explicar el controlador y la configuración.

Controlador

Es la clase que se encarga de recibir la peticion, procesar y dar una respuesta. el codigo es el siguiente:

@Controller
@RequestMapping(value = "/cursos")
public class CursoWS {

        @Autowired
 private CursoService service;

        @RequestMapping(value = "/all", method = RequestMethod.GET, produces = "application/json")
 @ResponseBody
 @ResponseStatus(value = HttpStatus.OK)
 public List getCursos() {  
  CursoExample example = new CursoExample();
  example.createCriteria().andActivoEqualTo(true);
  return service.getAll(example);
 }
}

Como veis es parecido a Jersey y RestEasy, lo que cambia es el Path por RequestMapping para indicar la url de nuestro servicio rest. Por lo demas es casi igual que Jersey y RestEasy.
Con esto ya tenemos el servicio rest lo único falta es la configuración para que funcione es activar la configuración de mvc en nuestro applicationContext


Con esto ya tenemos activada la configuración spring mvc y por último creamos un fichero en WEB-INF con el nombre spring-dispatcher-servlet.xml con la siguiente códgio
 

Por último el web.xml

  SpringMVCRest
  org.springframework.web.servlet.DispatcherServlet
  
            contextConfigLocation
            /WEB-INF/spring-dispatcher-servlet.xml
        
        1
 
 
 
  SpringMVCRest
  /rest/*
 
Con esto ya tenemos todo, como simepre el ejemplo completo en github

No hay comentarios:

Publicar un comentario