关于Spring MVC如何使用@RequestMapping注释来实现RESTfull架构的一些说明

时间:2015-02-15 17:40:10

标签: java spring rest spring-mvc annotations

我正在学习Spring Core认证,我对Spring MVC如何处理REST Web服务有所怀疑。

阅读文档我发现了这个例子:

@RequestMapping(value="/orders", method=RequestMethod.GET)
    public void listOrders(Model model) {
    // find all Orders and add them to the model
}

@RequestMapping(value="/orders", method=RequestMethod.POST)
    public void createOrder(HttpServletRequest request, Model model) {
    // process the order data from the request
}

好的,它显示了2个Spring MVC方法(我认为应该声明为控制器类,是真的)。​​

这些方法都处理对 / orders 资源的HTTP请求(根据REST样式,其中资源被视为管理一种数据的编程元素和国家并提供此类处理)。

在这种情况下,如果对 / orders 的HTTP请求为 GET ,则会执行 listOrders()方法返回所有对象的列表,但如果对 / orders 的请求是 POST ,它将执行创建新订单的 createOrder()

那究竟是什么意思,使用 @RequestMapping 注释的方法参数我可以根据RESTful样式处理HttpRequest?

1 个答案:

答案 0 :(得分:1)

REST是一种体系结构样式,它使用各种HTTP方法对资源上的操作建模。

Spring @RequestMapping注释只是将处理程序方法映射到HTTP请求的一种方法。 method属性只是限制带注释的方法可以处理哪些HTTP方法。