@RequestMapping详解:请求映射规则

目录

请求-相应模式:

设置请求映射规则@RequestMapping

[POST 请求:](#POST 请求:)

[GET 请求](#GET 请求)


请求-相应模式:

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

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

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

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

设置请求映射规则@RequestMapping

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

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

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

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

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

例如:
请求的资源路径为**/test/test1** 的请求能够被test1post方法处理:
java 复制代码
@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)

    一般写都是这样:

    java 复制代码
    @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 更大的数据量 ,并且相对更安全

java 复制代码
@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 请求,并返回相应的资源或数据给前端。

java 复制代码
@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博客

相关推荐
Warren9840 分钟前
如何在 Spring Boot 中安全读取账号密码等
java·开发语言·spring boot·后端·安全·面试·测试用例
杨杨杨大侠1 小时前
第1篇:走进日志框架的世界 - 从HelloWorld到企业级应用
java·开源·apache log4j
David爱编程2 小时前
Java 内存模型(JMM)全景图:并发世界的底层基石
java·后端
努力努力再努力wz2 小时前
【c++进阶系列】:万字详解多态
java·linux·运维·开发语言·c++
秦亿凡2 小时前
多线程下为什么用ConcurrentHashMap而不是HashMap
java·开发语言
知其然亦知其所以然3 小时前
SpringAI + Groq 实战:3 分钟教你搭建超快聊天机器人!
java·后端·openai
M1A13 小时前
诺贝尔奖得主的终极学习法:西蒙学习法全解读
后端
阿波罗尼亚3 小时前
ExcelUtils实现 设置内容 插入行 复制行列格式
java·开发语言
Monkey-旭3 小时前
Android 定位技术全解析:从基础实现到精准优化
android·java·kotlin·地图·定位
带刺的坐椅3 小时前
Solon StateMachine 实现状态机使用示例详解
java·solon·状态机