@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博客

相关推荐
碳苯1 分钟前
【rCore OS 开源操作系统】Rust 枚举与模式匹配
开发语言·人工智能·后端·rust·操作系统·os
wclass-zhengge13 分钟前
数据结构篇(绪论)
java·数据结构·算法
何事驚慌14 分钟前
2024/10/5 数据结构打卡
java·数据结构·算法
结衣结衣.14 分钟前
C++ 类和对象的初步介绍
java·开发语言·数据结构·c++·笔记·学习·算法
TJKFYY16 分钟前
Java.数据结构.HashSet
java·开发语言·数据结构
kylinxjd17 分钟前
spring boot发送邮件
java·spring boot·后端·发送email邮件
OLDERHARD26 分钟前
Java - MyBatis(上)
java·oracle·mybatis
杨荧27 分钟前
【JAVA开源】基于Vue和SpringBoot的旅游管理系统
java·vue.js·spring boot·spring cloud·开源·旅游
zaim13 小时前
计算机的错误计算(一百一十四)
java·c++·python·rust·go·c·多项式
2401_857439694 小时前
Spring Boot新闻推荐系统:用户体验优化
spring boot·后端·ux