当前位置: 首页 > ops >正文

Web后端开发(请求、响应)

目录

请求:

Postman:

简单参数:

实体参数: 

数组集合参数:

日期参数:

Json参数:

路径参数:

响应:


请求响应:

请求:获取请求数据

响应:设置响应数据

BS架构:浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器。

CS架构:客户端/服务器架构模式。(需要下载响应的客户端即软件)

CS(开发、维护麻烦 体验感强)   BS(维护方便 体验一般)

请求:

Postman:

由于前后端分离开发,只写后端代码时POST请求无法对接口进行测试,所以需要安装Postman进行测试

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。

作用:常用于接口测试 

官网:Postman: The World's Leading API Platform | Sign Up for Free

简单参数:

在服务端传递的普通数据,如GET请求路径后携带的两个参数

 原始方式:

在原始的web程序中,获取请求参数,需要通过HttpServletRequest对象手动获取。(需要手动进行类型转化,比较繁琐,一般不用该方法)

 SpringBoot方式:

   简单参数:参数名与形参变量名相同,定义形参即可接收参数。

在postman中测试结果为:

 而通过POST请求来完成则需要设置请求体:

 只需要请求参数名,和方法中的形参一致即可正常运行(如果不一致能接收成功,但是响应不一致的接收结构为null)

如果方法形参名称与请求参数名称不匹配,可以使用@RequestParam完成映射。

 @RequestMapping("/simpleParam")public String simpleParam(@RequestParam (name="name") String username , Integer age) {System.out.println(username+":"+age);return "OK";}

 

实体参数: 

简单实体对象:请求参数与形参对象属性名相同,定义POJO接收即可(保证请求的参数名与实体类的属性名保持一致)

在Controller同级目录下创建包用来专门存放实体对象

再在写入接口传递Uer对象

  @RequestMapping("/simplePojo")public String simplePojo(User user) {System.out.println(user);return "OK";}

 复杂实体的封装:(如果实体对象中又含有实体对象)

只需要通过某个实体中定义的另一个实体.某个属性来传递即可

数组集合参数:

数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数

如图,逐个传递即可

服务器接收方式:

方式一:定义一个数组来接收

 @RequestMapping("/arrayParam")public String arrayParam(String [] hobby) {System.out.println(Arrays.toString(hobby));return "OK";}

 方式二:使用集合来完成参数的接收 封装

集合参数:请求参数名称与形参集合名称相同且请求参数为多个,@RequestParam 绑定参数关系

与数组的传递方式相同

服务端接收:

  @RequestMapping("/listParam")public String listParam(@RequestParam List<String> hobby) {System.out.println(hobby);return "OK";}

日期参数:

使用@DateTimeFormat注解完成日期参数格式转换

@RequestMapping("/dateParam")public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDateTime updateTime){System.out.println(updateTime);return "OK";}

Json参数:

JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用@RequestBody标识

JSON参数:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用@RequestBody标识

  @RequestMapping("/jsonParam")public String jsonParam(@RequestBody User user) {System.out.println(user);return "OK";}

路径参数:

通过请求URL直接传递参数,使用{...}来标识该路径参数,需要使用@PathVariable获取路径参数

 @RequestMapping("/path/{id}")public String pathParam(@PathVariable Integer id) {System.out.println(id);return "OK";}
}

如果需要传递多个路径参数:

 注意:注解中参数名和形参名称需要保持一致

响应:

因为响应的格式很随意,所以我们在开发中为了规范项目会设置统一的响应结果

 在pojo包中创建返回类即可

Springboot项目的静态资源(html、css、js等前端资源)默认存放目录为:classpath:/static

classpath:/public、classpath:/resources

http://www.xdnf.cn/news/12703.html

相关文章:

  • SpringCloud2025+SpringBoot3.5.0+gateway+webflux子服务路由报503
  • Pinocchio 库详解及其在足式机器人上的应用
  • 板凳-------Mysql cookbook学习 (十--2)
  • Linux权限探秘:驾驭权限模型,筑牢系统安全
  • 【PyCharm必会基础】正确移除解释器及虚拟环境(以 Poetry 为例 )
  • 2025新高考二卷选择题第一题题解
  • 嵌入式全栈面试指南:TCP/IP、C 语言基础、STM32 外设与 RT‑Thread
  • MATLAB遍历生成20到1000个节点的无线通信网络拓扑推理数据
  • 大实验:基于赛灵思csg324100T,pmodMAXsonar的危险距离警报
  • [论文阅读] 人工智能+软件工程 | 结对编程中的知识转移新图景
  • 基于贝叶斯网络构建结构方程_TomatoSCI分析日记
  • Qwen系列之Qwen3解读:最强开源模型的细节拆解
  • 计数排序_桶排序
  • 从 Vue 2.0 进阶到 Vue 3.0 的核心技术解析指南
  • **解锁 C++ std::map 的力量**
  • android 布局小知识点 随记
  • OpenEuler服务器警告邮件自动化发送:原理、配置与安全实践
  • 数据的输出、输入
  • 20242817李臻-安全文件传输系统-项目验收
  • springboot2.x升级springboot3.x
  • 端午编程小游戏--艾草驱邪
  • 【SpringBoot自动化部署方法】
  • UDP与TCP通信协议技术解析
  • XXL-JOB——源码分析解读(1)
  • 英语词汇表格 form, table, sheet, grid, tabulation 的区别
  • 打卡第38天:早停策略和模型权重的保存
  • Maven的配置与运行
  • 【强化学习】——04Model-Based RL
  • 垃圾回收相关八股
  • IDEA中的debug使用技巧