@RequestMapping详解:请求映射规则

目录

请求-相应模式:

        设置请求映射规则@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.mfbz.cn/a/200959.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分油问题C++求解

原题 3个油桶&#xff0c;容量分别为&#xff08;大桶&#xff09;20&#xff0c;&#xff08;中桶&#xff09;9&#xff0c;&#xff08;小桶&#xff09;7&#xff0c;初始时大桶满油&#xff0c;如何操作可以分出17的油&#xff1f; 代码 #include<iostream> #inc…

【复盘】接口自动化测试框架建设的经验与教训!

为什么选择这个话题&#xff1f; 一是发现很多“点工”在转型迷茫期都会问一些自动化测试相关的问题&#xff0c;可以说自动化测试是“点工”升级的必经之路&#xff1b;二是Google一下接口自动化测试&#xff0c;你会发现很多自动化测试框架相关的文章&#xff0c;但是大部分…

自动化测试框架搭建步骤教程

说起自动化测试&#xff0c;我想大家都会有个疑问&#xff0c;要不要做自动化测试&#xff1f; 自动化测试给我们带来的收益是否会超出在建设时所投入的成本&#xff0c;这个嘛别说是我&#xff0c;即便是高手也很难回答&#xff0c;自动化测试的初衷是美好的&#xff0c;而测试…

golang channel执行原理与代码分析

使用的go版本为 go1.21.2 首先我们写一个简单的chan调度代码 package mainimport "fmt"func main() {ch : make(chan struct{})go func() {ch <- struct{}{}ch <- struct{}{}}()fmt.Println("xiaochuan", <-ch)data, ok : <-chfmt.Println(&…

Xiamen I Fitness Platform

厦门I健身平台程 https://ijs.sports.xm.gov.cn/mgh5/#/ 1&#xff09;公众号 2&#xff09;主页 3&#xff09;【个人中心】【我的保险】就是要买一份保险&#xff0c;10元的那种&#xff0c;不然去场地出意外咋办 4&#xff09;我的保险状态&#xff1a;未购买&#xff0c;…

VR虚拟教育展厅,为教学领域开启创新之路

线上虚拟展厅是一项全新的展示技术&#xff0c;可以为参展者带来不一样的观展体验。传统的实体展览存在着空间限制、时间限制以及高昂的成本&#xff0c;因此对于教育领域来说&#xff0c;线上虚拟教育展厅的出现&#xff0c;可以对传统教育方式带来改革&#xff0c;凭借强大的…

【Qt之QSqlRelationalDelegate】描述及使用

描述 QSqlRelationalDelegate类提供了一个委托&#xff0c;用于显示和编辑来自QSqlRelationalTableModel的数据。 与默认委托不同&#xff0c;QSqlRelationalDelegate为作为其他表的外键的字段提供了一个组合框。 要使用该类&#xff0c;只需在带有QSqlRelationalDelegate实例…

easyrecovery如何恢复手机数据及硬盘数据恢复方法

EasyRecovery16是一款优秀的数据恢复软件&#xff0c;不仅能够兼容windows和mac双重系统&#xff0c;同时还能够识别u盘、存储卡、手机等多种数据储存设备&#xff0c;可恢复的文件类型更是多达百余种。还贴心地准备个人版、专业版和企业版的下载&#xff0c;增加了用户的可选性…

Android-P CameraSerivce

0 前言 本文重点分析Android-P的CameraService实现。 验证:Goldfish模拟器 1 定义 图1.1 CameraService ICameraServiceframeworks/av/camera/aidl/android/hardware/ICameraService.aidlBnCameraServiceout/soong/.intermediates/frameworks/av/camera/libcamera_client/an…

通过分析波形,透彻理解 UART 通信

UART是一种异步全双工串行通信协议&#xff0c;由 Tx 和 Rx 两根数据线组成&#xff0c;因为没有参考时钟信号&#xff0c;所以通信的双方必须约定串口波特率、数据位宽、奇偶校验位、停止位等配置参数&#xff0c;从而按照相同的速率进行通信。 异步通信以一个字符为传输单位…

远程访问:Windows设备管理器远程访问

设备管理器是一个应用程序&#xff0c;它包含与计算机耦合的硬件的完整概述&#xff0c;远程设备管理器允许管理员访问远程计算机的设备管理器&#xff0c;而无需远程访问桌面。 为什么需要远程设备管理器 IT环境充斥着数量众多的电脑和笔记本电脑&#xff0c;对于管理员来说…

Abaqus飞机起落架扭力臂拓扑优化

Abaqus飞机起落架扭力臂拓扑优化 Abaqus除了可以对结构进行强度分析&#xff0c;同样也自带强大的优化功能&#xff0c;下面通过一个简 单的实例演示在Abaqus中进行拓扑优化&#xff0c;另外&#xff0c;如果需要更加强大的拓扑优化仿真&#xff0c;可以 在TOSCA中进行。 定义接…

30岁的测试人?软件测试“内卷“?“我“该如何冲出破圈...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、软件测试的内卷…

怎么样的软件测试工程师才算“大神”?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

数据集笔记 :PEMS-BAY

数据地址&#xff1a;DCRNN - Google 云端硬盘 各station 位置&#xff1a;DCRNN/data/sensor_graph/graph_sensor_locations_bay.csv at master liyaguang/DCRNN (github.com) 1 读取 数据 import h5py fileDownloads/pems-bay.h5fh5py.File(file,r) f.keys()f[speed] #&…

Linux系统iptables

目录 一. 防火墙简介 1. 防火墙定义 2. 防火墙分类 ①. 网络层防火墙 ②. 应用层防火墙 二. iptables 1. iptables定义 2. iptables组成 ①. 规则表 ②. 规则链 3. iptables格式 ①. 管理选项 ②. 匹配条件 ③. 控制类型 四. 案例说明 1. 查看规则表 2. 增加新…

事务基础知识

文章目录 1. 事务的ACID2. 事务隔离级别2.1 数据并发问题2.2 MySQL中的四种隔离级别 1. 事务的ACID 原子性&#xff08;atomicity&#xff09;&#xff1a; 原子性是指事务是一个不可分割的工作单位&#xff0c;要么全部提交&#xff0c;要么全部失败回滚。一致性&#xff08;…

专业的调查问卷平台推荐:提升数据收集与分析效率

无论是学生还是职场人士&#xff0c;想做好一份调查问卷&#xff0c;关键先要确定调查的主题&#xff0c;然后确定调查人群&#xff0c;编辑问题&#xff0c;最后能够尽可能的美化问卷调查的主题。 想要做到这几点&#xff0c;就要要求问卷调查平台: 1、能够帮助你快速制作出一…

初学者如何理解​session、cookie、token的区别与联系?

session、cookie、token。 相信学过接口的朋友都特别熟悉了。 但是对我一个刚接触接口测试的小白来说&#xff0c;属实有点分不清楚。 下文就是我通过查阅各种资料总结出来的一点理解&#xff0c;不准确的地方还请各位指正。 &#xff08;文末送洗浴中心流程指南&#xff09…

面试题:说一下MyBatis动态代理原理?

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.MyBatis简介2.使用步骤2.1、引入依赖2.2、配置文件2.3、接口定义2.4、加载执行 3.原理解析 1.MyBatis简介 MyBatis是一个ORM工具&#xff0c;封装了JDBC的操作&a…
最新文章