前后端交互基础:HTTP 四大请求与常见传参方式
一、 HTTP 的四种核心请求GET获取数据作用向服务器请求获取指定的资源。对应操作查询Read。苍穹外卖示例查询员工列表、获取菜品详情。POST提交/新增数据作用向服务器提交数据通常用于创建一个新的资源。对应操作新增Create。苍穹外卖示例新增员工、新增菜品、用户登录提交账号密码。PUT更新数据作用向服务器提交数据用于整体替换或更新一个已存在的资源。对应操作修改Update。苍穹外卖示例修改员工信息、修改菜品价格。DELETE删除数据作用请求服务器删除指定的资源。对应操作删除Delete。苍穹外卖示例删除某个员工、下架某道菜品。(注除了这四种还有 PATCH局部更新、HEAD只获取响应头、OPTIONS查询支持的方法等但在日常业务开发中用得相对较少。)在 Spring MVC 中区分请求方式非常简单完全依赖我们之前聊过的注解看到GetMapping就知道这是给前端查询用的。看到PostMapping就知道这是给前端新增用的。看到PutMapping就知道这是给前端修改用的。看到DeleteMapping就知道这是给前端删除用的。二、常见参数传递格式Query 类型查询字符串长什么样它直接拼接在 URL 网址的后面以?开头多个参数之间用连接。例子/admin/employee?page1pageSize10name张三数据格式纯文本只能传递简单的键值对Key-Value。对应后端注解在 Spring MVC 中通常用RequestParam来接收。适用场景传递少量的、简单的参数。GET 请求的标配比如分页查询、根据 ID 获取详情、条件搜索等。缺点URL 长度有限制不能传递复杂的嵌套对象且数据直接暴露在网址里不安全。JSON 类型长什么样它不放在网址后面而是藏在请求体Request Body里面。它长得像 Java 的对象用大括号{}包裹。例子{name: 张三, phone: 13800138000, age: 25}数据格式结构化的数据可以嵌套数组和对象能表达非常复杂的数据结构。对应后端注解在 Spring MVC 中必须用RequestBody来接收Spring 会自动把它反序列化成 Java 对象如 DTO。适用场景传递大量的、复杂的数据。POST / PUT 请求的标配比如新增员工、修改菜品信息、用户登录提交账号密码等。优点没有长度限制数据结构清晰前后端对接极其方便。在苍穹外卖的开发中“查”数据GET参数少用 Query拼接在网址后面“增/改”数据POST/PUT参数多且复杂用 JSON放在请求体里。Header 参数请求头参数长什么样放在 HTTP 请求的头部Header中比如Authorization: Bearer eyJhbGciOi...。后端接收注解RequestHeader适用场景用于传递与业务数据无关的“元数据”。在苍穹外卖中最典型的就是传递 JWT Token用于登录校验或者传递客户端版本号、设备信息等。