@RequestMapping详解:请求映射规则

news/2025/3/15 16:35:38/

目录

请求-相应模式:

        设置请求映射规则@RequestMapping

POST 请求:

GET 请求


请求-相应模式:

  前端作为客户端向后端发送请求(请求可以分为请求头和请求体两部分,请求头包含了一些元数据信息,如请求方式、请求路径、请求参数等;而请求体则包含了请求的具体内容,比如表单数据、JSON数据等)。后端接收到请求后可以使用相关的注解去提取数据,并根据业务逻辑进行处理。

  处理完成后,后端会将处理结果封装在响应体(ResponseBody)中,并将其返回给前端作为响应(Response)。

  这种模式下,前端和后端之间通过请求和响应进行数据交互,实现了前后端的解耦。前端负责展示数据和发送请求,后端负责处理请求并生成响应数据,通过网络进行通信。这种模式可以灵活地适应各种场景和需求,使前后端开发更加高效和可维护。

  而 @RequestMapping注解与请求-响应模式的关系在于它定义了请求的URL路径和请求方法,从而将前端的请求与后端的处理方法建立起映射关系。通过使用@RequestMapping注解,后端可以接收前端的请求并处理,可以将处理结果封装在Java对象中,然后通过@ResponseBody注解将其转换为前端需要的格式,并返回给前端作为响应。实现了请求-响应模式的具体逻辑。

设置请求映射规则@RequestMapping

     该注解可以加到方法上或者是类上。

     在这个注解内填上请求路径,请求方式。当符合了要求,请求就会被加了这个注解的方法或类调用。

  • 指定请求路径和指定请求方式:

        path或者value属性都可以用来指定请求路径。

        method属性可以用来指定可处理的请求方式。

        例如:
        请求的资源路径为/test/test1的请求能够被test1post方法处理:
@RestController
@RequestMapping("/test")
public class TestController {@RequestMapping(value = "/test1",method = RequestMethod.POST)public String test1(){return "test1";}
}

  不过一般写在接口类的上面,然后下面的每一个方法添加其他注解即可不用写请求方式和更加规范。如下:

  • @PostMapping 等价于 @RequestMapping(method = RequestMethod.POST)

  • @GetMapping 等价于 @RequestMapping(method = RequestMethod.GET)

  • @PutMapping 等价于 @RequestMapping(method = RequestMethod.PUT)

  • @DeleteMapping 等价于 @RequestMapping(method = RequestMethod.DELETE)

    一般写都是这样:

    @RestController
    @RequestMapping("/test")
    public class TestController {@PostMapping("/test1")public String test1(){return "test1";}
    }

  • 常见的 HTTP 请求方式有四种:

    • POST(添加)

    • GET(查询)

    • DELETE(删除)

    • PUT(修改)

POST 请求:

 POST 请求用于向指定资源提交数据,通常会导致服务器端的状态发生变化

  主要用于向服务器上传一些数据和文件。 常见就是添加用户信息,登录功能。

  使用 POST 请求方式提交的数据会被包含在请求体中,而不像 GET 请求方式那样包含在 URL 中。

  POST 请求可以提交比 GET 更大的数据量,并且相对更安全

@PostMapping("/login")public ResponseResult login(@RequestBody User user) {System.out.println(user.getUsername());return loginService.login(user);}

@PostMapping 注解用于在后端接收前端发送的数据。

  通过使用 @PostMapping 注解,可以将前端发送的数据绑定到相应的方法参数中,登录用户数据会被绑定到 User 对象的实例 user 中,从而可以在方法中进行相关的业务逻辑处理

GET 请求

 GET 请求用于向指定资源发出请求,请求中包含了资源的 URL 和请求参数。服务器端通过解析请求参数来返回相应的资源,不会修改服务器端的状态

  使用 GET 请求方式提交的数据会被包含在 URL 中,因此易于被缓存和浏览器保存,但也因此不适合用于提交敏感数据。

  通过 @GetMapping 注解标记的方法通常被用于响应传入的 URL 请求,并返回相应的资源或数据给前端。

@GetMapping("/user")
public User getUser(@RequestParam("id") int id) {// 根据 id 查询并返回用户信息return userService.getUser(id);
}

  前端可以发送一个 GET 请求到 /user?id=123 来获取 id 为 123 的用户信息。注解中的 @RequestParam("id") 表示获取 URL 查询参数中名为 "id" 的值,并将其赋值给方法参数 id

 ——————————————————————————————————————————

其他Controller类常用的注解可以这个文章的汇总:Web开发Controller类详解-CSDN博客


http://www.ppmy.cn/news/1249386.html

相关文章

炸裂:completablefuture自定义线程池慢2倍......比默认线程池......

尼恩说在前面 尼恩社群中,很多小伙伴找尼恩来卷3高技术,学习3高架构,遇到问题,常常找尼恩反馈和帮扶。 周一,一个5年经验的大厂小伙伴,反馈了一个令人震惊的问题 completablefuture自定义线程池慢2倍…比…

使用Ray轻松进行Python分布式计算

大家好,在实际研究中,即使是具有多个CPU核心的单处理器计算机,也会给人一种能够同时运行多个任务的错觉。当我们拥有多个处理器时,就可以真正以并行的方式执行计算,本文将简要介绍Python分布式计算。 1.并行计算与分布…

【Spring之事务底层源码解析,持续更新中~~~】

文章目录 一、EnableTransactionManagement工作原理二、Spring事务基本执行原理三、Spring事务传播机制与分类四、Spring事务强制回滚五、TransactionSynchronization六、Spring事务详细执行流程 一、EnableTransactionManagement工作原理 二、Spring事务基本执行原理 三、Sp…

文件重命名:如何删除文件名中的下划线,特殊符号批量删除

在日常的工作中,经常会遇到文件名中包含特殊符号的情况,例如,一些文件名可能包含下划线、空格或其他特殊符号,这些符号可能会干扰我们的文件搜索和识别。此外,一些文件名可能包含无法识别的非标准字符,这可…

【MyBatis注解实现模糊查询】

文章目录 1. 准备工作2. 创建数据库表3. 编写Mapper接口4. 编写SQL语句5. 使用注解进行查询6. 示例代码 1. 准备工作 可以参考MyBatis官方文档 2. 创建数据库表 假设有一个名为users的表,包含以下字段: id(主键)username&…

90基于matlab的无迹卡尔曼滤波器参数估计的非线性最小二乘优化

基于matlab的无迹卡尔曼滤波器参数估计的非线性最小二乘优化,数据可更换自己的,程序已调通,可直接运行。 90matlab无迹卡尔曼滤波器参数估计 (xiaohongshu.com)

gcp, loki, honeybadger 查看日志 语句

gcp, loki, honeybadger 查看日志 语句 GCP resource.type“cloudsql_database” AND logName:“projects/ebay-mag/logs/cloudsql.googleapis.com%2Fpostgres.log” AND ( textPayload:“[2823409]”) log_name“projects/ebay-mag/logs/cloudsql.googleapis.com%2Fpostgres…

【AI认证笔记】NO.2人工智能的发展

目录 一、人工智能的发展里程碑 二、当前人工智能的发展特点 1.人工智能进入高速发展阶段 2.人工智能元年 三、人工智能高速发展的三大引擎 1.算法突破 2.算力飞跃 3.数据井喷 四、AI的机遇 五、AI人才的缺口 六、行业AI 人工智能算法,万物互联&#xff…