如何使用Spring MVC使用REST URL?

时间:2012-01-22 11:06:22

标签: spring spring-mvc

我开发了一些RESTful方法并通过Apache Cxf公开它们

我正在使用Spring MVC开发客户端应用程序,我正在寻找一个简单的示例来演示如何使用Spring MVC调用/使用这些REST方法

我知道如何使用Apache http客户端,但更喜欢使用Spring MVC,以防这种情况已经在那里实现。

2 个答案:

答案 0 :(得分:15)

Spring提供了简单的包装器来使用名为RestTemplate的RESTful服务。它执行路径变量解析,编组和解组:

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);

假设RoomRestTemplate可以理解的JAXB对象。

请注意,此类与Spring MVC无关。您可以在MVC应用程序中使用它,也可以在独立应用程序中使用它。它是一个客户端库。

另见

答案 1 :(得分:1)

使用路径变量来使用REST数据。例如:

https://localhost/products/{12345}

此模式应该为您提供产品ID为12345的产品的详细信息。

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

如果您想从其他服务使用Rest Service,请查看:

  

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

  

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