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

标签 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 方法(我认为应该将其声明到 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/

相关文章:

Java EnumMap 参数混淆

spring - 如何在 IntelliJ 的 Spring Boot 项目中使用实时编辑

javascript - Axios GET 请求不和谐 API 给出 ​​403 禁止响应,但在 Postman 中有效

java - 构造 http POST 请求的问题

java多线程阅读..请帮助我对java很陌生:(

java - Guava 先决条件的自定义异常

在 hibernate 4 中使用投影时出现 java.lang.ClassCastException

java - Spring Data JPA 中关系@ManyToMany 的查询方法

Java,Spring "saveOrUpdate",DAO 中的 "update"

javascript - 具有 REST 后端的 HTML/javascript 客户端