我正在学习 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 方法(我认为应该将其声明到 Controller 类中,是这样吗)。
这些方法都处理对/orders资源的HTTP请求(根据REST风格,其中资源被视为管理一种数据的编程元素)以及状态并提供此类处理)。
在这种情况下,如果对 /orders 的 HTTP 请求是 GET,它将执行 listOrders() 方法,该方法返回所有对象的列表,但如果对 /orders 的请求是 POST ,它将执行创建新订单的 createOrder()
那么使用 @RequestMapping 注释的 method 参数我可以根据 RESTful 风格处理 HttpRequest 到底意味着什么呢?
最佳答案
REST 是一种架构风格,它使用各种 HTTP 方法对资源上的操作进行建模。
Spring 的 @RequestMapping
注释只是将处理程序方法映射到 HTTP 请求的一种方法。 method
属性只是限制带注释的方法可以处理哪些 HTTP 方法。
关于java - 关于Spring MVC如何使用@RequestMapping注解实现RESTfull架构的一些说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28529015/