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

相关推荐
一只叫煤球的猫8 小时前
写代码很6,面试秒变菜鸟?不卖课,面试官视角走心探讨
前端·后端·面试
bobz9658 小时前
tcp/ip 中的多路复用
后端
bobz9658 小时前
tls ingress 简单记录
后端
皮皮林5519 小时前
IDEA 源码阅读利器,你居然还不会?
java·intellij idea
你的人类朋友9 小时前
什么是OpenSSL
后端·安全·程序员
bobz96510 小时前
mcp 直接操作浏览器
后端
前端小张同学12 小时前
服务器部署 gitlab 占用空间太大怎么办,优化思路。
后端
databook12 小时前
Manim实现闪光轨迹特效
后端·python·动效
武子康13 小时前
大数据-98 Spark 从 DStream 到 Structured Streaming:Spark 实时计算的演进
大数据·后端·spark
该用户已不存在13 小时前
6个值得收藏的.NET ORM 框架
前端·后端·.net