尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

web前端基础到入门——10day

web前端基础到入门——10day 摘要本文聚焦 SpringBootWeb 请求处理核心内容先讲解 BS 架构与请求响应底层逻辑再详细介绍 Postman 接口测试工具的使用最后拆解各类请求参数的接收方式搭配完整代码示例与测试步骤帮助后端开发者快速掌握请求处理技巧适配前后端分离开发模式。一、前言请求响应底层逻辑在 SpringBootWeb 开发中浏览器与后端服务器遵循 HTTP 协议进行交互采用 BSBrowser/Server架构即浏览器/服务器模式客户端仅需浏览器业务逻辑与数据均存储在服务端。核心流程浏览器发起请求携带请求行、请求头内置 Tomcat 服务器解析请求数据核心控制器 DispatcherServlet 接收请求并转发给对应 ControllerController 处理请求后通过 HttpServletResponse 对象返回响应数据二、Postman 接口测试工具前后端分离必备2.1 工具介绍Postman 是一款功能强大的 HTTP 请求调试工具可模拟浏览器发起 GET、POST 等各类请求支持携带请求参数、请求头完美解决前后端分离开发中无前端页面测试接口的痛点具有简单、实用、界面美观的特点。2.2 安装与基础使用安装双击安装包即可完成安装无需额外配置新版本可选择不升级。基础操作登录账号后创建工作空间新建请求设置请求方式、URL、参数发送请求并查看响应结果可保存请求信息方便后续复用。三、各类请求参数接收详解3.1 简单参数简单参数即普通请求数据SpringBoot 提供两种接收方式推荐使用 SpringBoot 原生方式。3.1.1 原始方式了解即可通过 HttpServletRequest 对象获取参数需手动进行类型转换代码繁琐实际开发中很少使用。RestController public class RequestController { RequestMapping(/simpleParam) public String simpleParam(HttpServletRequest request){ String name request.getParameter(name); String ageStr request.getParameter(age); int age Integer.parseInt(ageStr); System.out.println(name : age); return OK; } }3.1.2 SpringBoot 方式推荐请求参数名与 Controller 方法形参名一致时直接定义同名形参即可接收支持 GET、POST 请求。若参数名不一致需使用 RequestParam 注解映射。RestController public class RequestController { // 参数名与形参名一致 RequestMapping(/simpleParam) public String simpleParam(String name, Integer age){ System.out.println(name : age); return OK; } // 参数名不一致使用RequestParam RequestMapping(/simpleParam) public String simpleParam(RequestParam(name) String username, Integer age){ System.out.println(username : age); return OK; } }3.2 实体参数当请求参数较多时可将参数封装到实体类中核心规则请求参数名与实体类属性名相同。注意RequestParam 的 required 属性默认为 true即参数必须传递若为可选参数需设置 required false。3.2.1 简单实体对象定义实体类直接在 Controller 方法中以实体类为形参SpringBoot 自动封装参数。// 实体类 public class User { private String name; private Integer age; // 省略getter、setter、toString方法 } // Controller RestController public class RequestController { RequestMapping(/simplePojo) public String simplePojo(User user){ System.out.println(user); return OK; } }3.2.2 复杂实体对象实体类中包含其他实体类属性时按对象层次结构传递参数即可SpringBoot 自动完成嵌套封装。// 地址实体类 public class Address { private String province; private String city; // 省略getter、setter、toString方法 } // 用户实体类包含地址属性 public class User { private String name; private Integer age; private Address address; // 省略getter、setter、toString方法 } // Controller RestController public class RequestController { RequestMapping(/complexPojo) public String complexPojo(User user){ System.out.println(user); return OK; } }3.3 数组与集合参数适用于前端多选场景可通过数组或集合接收多个同名参数。3.3.1 数组接收定义数组类型形参请求参数名与数组名一致即可。RestController public class RequestController { RequestMapping(/arrayParam) public String arrayParam(String[] hobby){ System.out.println(Arrays.toString(hobby)); return OK; } }3.3.2 集合接收需配合 RequestParam 注解将多个参数绑定到集合中。RestController public class RequestController { RequestMapping(/listParam) public String listParam(RequestParam ListString hobby){ System.out.println(hobby); return OK; } }3.4 日期参数日期格式多样需通过 DateTimeFormat 注解指定格式使用 LocalDateTime 或 Date 类型接收。RestController public class RequestController { RequestMapping(/dateParam) public String dateParam(DateTimeFormat(pattern yyyy-MM-dd HH:mm:ss) LocalDateTime updateTime){ System.out.println(updateTime); return OK; } }3.5 JSON 参数RestController public class RequestController { RequestMapping(/jsonParam) public String jsonParam(RequestBody User user){ System.out.println(user); return OK; } }前后端交互常用 JSON 格式需使用 RequestBody 注解将 JSON 数据映射到实体类对象中JSON 键名与实体类属性名一致。3.6 路径参数直接在 URL 中传递参数使用 {…} 标识路径参数配合 PathVariable 注解获取。RestController public class RequestController { // 单个路径参数 RequestMapping(/path/{id}) public String pathParam(PathVariable Integer id){ System.out.println(id); return OK; } // 多个路径参数 RequestMapping(/path/{id}/{name}) public String pathParam2(PathVariable Integer id, PathVariable String name){ System.out.println(id : name); return OK; } }四、总结本文详细讲解了 SpringBootWeb 中各类请求参数的接收方式核心要点简单参数用形参接收、实体参数用 POJO 封装、数组集合需注意注解使用、JSON 参数依赖 RequestBody、路径参数需用 PathVariable。结合 Postman 可快速完成接口测试为后续业务开发打下基础。下期预告讲解响应处理与分层解耦实现规范的接口响应与代码架构优化标签#SpringBoot #SpringBootWeb #请求参数 #Postman #Java 后端
返回列表