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

Some clarification about how Spring MVC use the @RequestMapping annotation to implement RESTfull architecture

我正在学习 Spring 核心认证,我对 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 方法(我认为应该声明到控制器中 class,是这样吗)。

这些方法都处理对 /orders 资源的 HTTP 请求(根据 REST 风格,其中 resource 被视为管理一种数据和状态并提供对这种数据的处理的编程元素。

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

那么究竟意味着什么,使用 @RequestMapping 注释的 方法 参数我可以根据 RESTful风格?

REST 是一种架构风格,它使用各种 HTTP 方法来模拟资源操作。

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