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

相关推荐
Java技术小馆7 分钟前
langChain开发你的第一个 Agent
java·面试·架构
kangkang-8 分钟前
PC端基于SpringBoot架构控制无人机(二):MavLink协议
java·spring boot·后端·无人机
Dcs19 分钟前
Anthropic 爆严重安全漏洞!程序员机器沦陷
java
EnigmaCoder40 分钟前
Java多线程:核心技术与实战指南
java·开发语言
攀小黑43 分钟前
阿里云 使用TST Token发送模板短信
java·阿里云
麦兜*1 小时前
Spring Boot秒级冷启动方案:阿里云FC落地实战(含成本对比)
java·spring boot·后端·spring·spring cloud·系统架构·maven
自由鬼1 小时前
正向代理服务器Squid:功能、架构、部署与应用深度解析
java·运维·服务器·程序人生·安全·架构·代理
喷火龙8号2 小时前
MSC中的Model层:数据模型与数据访问层设计
后端·架构
5ycode2 小时前
dify项目结构说明与win11本地部署
后端·开源
LaoZhangAI2 小时前
GPT-image-1 API如何传多图:开发者完全指南
前端·后端