请求响应相关知识点

请求响应

概述

在这里插入图片描述
浏览器发出请求数据——》web服务器里的dispatcherservlet核心控制器——》各个controller,之后原路返回到浏览器,以此完成一次数据的请求响应

其中核心控制器里有httpServletRequest(请求对象)、httpServletResponse(响应对象),两个对象有各自的功能

这种浏览器服务器架构,是bs架构

请求

postman

在这里插入图片描述
在这里插入图片描述

各种参数的封装以及接收

简单参数

原始方式

在这里插入图片描述

在这里插入图片描述

springboot方式

在这里插入图片描述
只需要参数名和请求参数保持一致即可,这里会完成自动类型转换

映射解决参数不匹配

当springboot里的参数名与前端发送的请求参数名不一致时,可以对在参数前加一个注解,并加上括号,括号内容是请求数据参数名,这就是利用映射原理
在这里插入图片描述

小结

在这里插入图片描述

实体参数

简单的实体参数

在这里插入图片描述
这是模拟发送的客户端数据
在这里插入图片描述
这是对于实体参数,也就是具体对象作为参数时的springboot程序

在这里插入图片描述
之所以辨认出发送的请求是给第二个代码块 主要是由客户端发送时所指定的URI决定,也就是上图选中的部分,这里注意,springboot代码里定义的方法名最好与URI(就是注解括号里的资源名称)保持一致

URL 是指资源路径
URI 是指资源名称

复杂的实体参数

在这里插入图片描述
当实体对象里面有个成员变量 该变量是当前包下另一个封装的对象(如下两张图)时,前端发送请求数据参数时,应像上图那样,用点来表明层级关系,注意这个时候address对象是User类的一个成员变量
在这里插入图片描述
在这里插入图片描述
注意要为address变量写get、set、tostring方法

注意点

在这里插入图片描述
这里新建了一个包(pojo),专门用来存放controller里所用到的具体对象的类

当然,具体的spring boot程序仍旧在controller中定义的RequestController中进行编写

数组集合参数

数组

在这里插入图片描述
客户端传入请求参数时,直接同一个键对应不同的值,多次定义同一个键即可
springboot程序里参数是新定义的数组,输出时使用了arrays的tostring方法,数组名要与请求参数的名称保持一致

集合

在这里插入图片描述
注意当数组做参数时,不仅要名称保持一致,而且要用@RequestParam注解来绑定参数关系,如下图
在这里插入图片描述

总结

在这里插入图片描述

日期参数

在这里插入图片描述
这里参数用日期类(API),类对应的对象名要与前端传递过来的请求参数名一致,并且要用@DateTimeFormat注解加小括号,小括号里对日期进行规定,最后直接输出日期对象名
在这里插入图片描述

json参数

模拟发送注意点

在这里插入图片描述
注意只有POST类型的请求参数才能发送json类型参数,因为json参数是存放在请求体里面的,这里要选择raw,并在右边倒三角选择json

注意json格式,都是键值对,并且键要用双引号引起来

服务端注意点

在这里插入图片描述
接收json数据要使用一个实体类,也就是上图所说的pojo类型,json的数据键名要与对象的属性名相同,同时要用@RequestBody注解标识

路径参数

在这里插入图片描述
通过设置路径 发送参数 服务端得到参数,注意id和 name 都是变量,要用花括号括起来,参数前要用到注解@PathVariable

各个参数总结

在这里插入图片描述

响应

注解

在这里插入图片描述
响应数据,在类或者方法上加一个注解,该注解的作用是将方法返回值直接响应回去前端

统一响应格式

原始响应格式

在这里插入图片描述

统一格式

介绍

在这里插入图片描述

具体代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面四图表示,用统一格式优化之后的代码块,(补充:这些代码块就是所谓的功能接口),功能接口被优化

优化步骤,1.在pojo类中粘贴一个Result类
2.将方法的返回值修改为Result类型,return后面跟上Result实例化对象,由于该类提供了静态方法,所以可以直接通过类名访问静态方法,传入参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值