2012-01-22 35 views
7

he desarrollado algunos métodos REST y las expusieron a través de Apache CXF¿Cómo consumir URLs REST usando Spring MVC?

estoy desarrollando la aplicación del lado del cliente utilizando Spring MVC y estoy buscando un simple ejemplo para demostrar cómo llamar/consumir estos métodos REST utilizando la primavera MVC

Sé cómo hacerlo usando Apache http client pero prefiero usar Spring MVC en caso de que esto ya se haya implementado allí.

+0

estoy teniendo dificultades para tratar de averiguar lo que se pide aquí: ¿Quieres usar un Spring MVC-aplicación entre el navegador y otro REST -servicio como una especie de proxy, o simplemente reimplementar algún servicio RESTful utilizando Spring MVC? – esaj

+0

Eche un vistazo a este [tutorial] (http://www.mkyong.com/spring-mvc/spring-3-rest-hello-world-example/) para obtener un ejemplo muy simple. – dimitrisli

Respuesta

15

Spring proporciona simple envoltorio para consumir servicios REST llamados RestTemplate. Se realiza la resolución de trayectoria variables, de clasificación y unmarshalling:

Map<String, Integer> vars = new HashMap<String, Integer>(); 
vars.put("hotelId", 42); 
vars.put("roomId", 13); 
Room room = restTemplate.getForObject(
    "http://example.com/hotels/{hotelId}/rooms/{roomId}", 
    Room.class, vars); 

Suponiendo Room es un objeto JAXB que puede ser entendido por el RestTemplate.

Tenga en cuenta que esta clase no tiene nada que ver con Spring MVC. Puede usarlo en la aplicación MVC, pero también en una aplicación independiente. Es una biblioteca de cliente.

Ver también

1

Utilice variables de ruta para consumir datos REST. Por ejemplo:

https://localhost/products/{12345}

Este patrón debe darle el detalle del producto Identificación del producto teniendo 12345.

@RequestMapping(value="/products/{productId}") 
@ResponseBody 
public SomeModel doProductProcessing(@PathVariable("productId") String productId){ 
//do prpcessing with productid 
return someModel; 
} 

Si usted quiere consumir resto servicio de otro servicio a continuación, echar un vistazo a:

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html

y

http://www.informit.com/guides/content.aspx?g=java&seqNum=546

+1

No estoy seguro de que su ejemplo realmente ayude, ya que la API REST ya existe. Creo que la pregunta es sobre cómo mapear esto con Spring MVC en clases que el resto de su cliente puede consumir. –

+1

Si entendí correctamente, el OP quiere que la aplicación Spring MVC sea un * cliente * de otra aplicación RESTful. –

+0

He agregado un método simple para tomar la identificación del producto del patrón URL – Abhi

Cuestiones relacionadas