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

集团公司网站源码php企业网站多少钱一年

集团公司网站源码php,企业网站多少钱一年,音乐影视类网站建设,最专业微网站建设公司目录 1. 传递对象 2. 后端参数重命名(后端参数映射) 3. 传递数组 4. 传递集合 5. 传递JSON数据 5.1 JSON概念 5.2 JSON语法 5.3 JSON字符串和Java对象互转 5.4 JSON优点 5.5 传递JSON对象 6. 获取URL中参数PathVariable 7. 上传文件RequestP…

目录

1. 传递对象

2. 后端参数重命名(后端参数映射)

3. 传递数组

4. 传递集合

5. 传递JSON数据

5.1 JSON概念

5.2 JSON语法

5.3 JSON字符串和Java对象互转

5.4 JSON优点

5.5 传递JSON对象

6. 获取URL中参数@PathVariable

7. 上传文件@RequestPart


1. 传递对象

如果参数⽐较多时, ⽅法声明就需要有很多形参. 并且后续每次新增⼀个参数, 也需要修改⽅法声明.
我们不妨把这些参数封装为⼀个对象.
Spring MVC 可以⾃动实现对象参数的赋值,比如 Person 对象:

【注意】

此处的 @Data 注解的作用是构造对象每个参数的 get/set 方法,以及重写 toString 方法。

要使用 @Data 注解,需要先导入 lombok 依赖。

 

请求传入对象数据:

服务端代码:

客户端传入数据:

响应结果(toString):

【结论】
Spring 会根据参数名称自动绑定到对象的各个属性上, 如果某个属性未传递, 则赋值为null(基本类型则赋值为默认初识值, ⽐如int类型的属性, 会被赋值为0 。

2. 后端参数重命名(后端参数映射)

某些特殊的情况下,前端传递的参数 key 和我们后端接收的 key 可以不⼀致,⽐如前端传递了⼀个 time 给后端,⽽后端是使⽤ createtime 字段来接收的,这样就会出现参数接收不到的情况,如果出现这种情况,我们就可以使⽤ @RequestParam 来重命名前后端的参数值.

例如:

传入数据与响应结果:

此处 @RequestParam 的含义是:

“t” 接收请求发送的数据,然后将 “t” 的值再赋值给 “createTime” 这个参数

默认情况下,如果参数没有接收到数据,会继续返回空值:

但是加上了 @RequestParam 注解,该参数就会默认变成 必传参数 :

此时如果该参数没有接收到值,就会报错,因为它是一个 必传参数 

可以得出结论:
1. 使用 @RequestParam 进⾏参数重命名时, 请求参数只能和 @RequestParam 声明的名称⼀
致, 才能进⾏参数绑定和赋值.
2. 使用 @RequestParam 进⾏参数重命名时, 参数就变成了必传参数.

实际上,也可以将该参数设置为 非必传参数

只需要在 @RequestParam 内的 “required”参数的值设置为 false 即可:

此时该参数没有接收到参数,不会报错,而是直接为空值:

【注意】
可以看到, 添加required=false之后, time前⾯也加了key, 变成了 value = "time"
注解属性赋值时, 没有指明key的话, 默认为value属性.
如果需要有多个属性进⾏赋值时, 需要写上key

3. 传递数组

Spring MVC 可以⾃动绑定数组参数的赋值
后端实现代码:

向数组传入数据:1,2,3,4。响应结果:

调用toString方法,打印数组:

响应结果:

除了上述方式,还可以用逗号隔开的方式向数组传入数据:

响应结果是一样的:

4. 传递集合

默认情况下,请求中参数名相同的多个值,是封装到数组. 如果要封装到集合,要使⽤
@RequestParam 绑定参数关系

后端接收代码:

传入数据,响应结果:

集合也支持使用逗号隔开的方式传入数据:

如果后端没有在参数前加入 @RequestParam 就会报错:

5. 传递JSON数据

5.1 JSON概念

JSON:JavaScript Object Notation 【JavaScript 对象表⽰法】
JSON是⼀种轻量级的数据交互格式. 它基于 ECMAScript (欧洲计算机协会制定的js规范)的⼀个⼦集,采⽤完全独⽴于编程语⾔的⽂本格式来存储和表⽰数据。--百度百科
简单来说:JSON就是⼀种数据格式, 有⾃⼰的格式和语法, 使⽤⽂本表⽰⼀个对象或数组的信息, 因此JSON本质是字符串. 主要负责在不同的语⾔中数据传递和交换.

5.2 JSON语法

JSON 是⼀个字符串,其格式⾮常类似于 JavaScript 对象字⾯量的格式

这是一段JSON数据:

{
"squadName" : "Super hero squad" ,
"homeTown" : "Metro City" ,
"formed" : 2016 ,
"secretBase" : "Super tower" ,
"active" : true ,
"members" : [{
"name" : "Molecule Man" ,
"age" : 29 ,
"secretIdentity" : "Dan Jukes" ,
"powers" : [ "Radiation resistance" , "Turning tiny" , "Radiation
blast" ]
}, {
"name" : "Madame Uppercut" ,
"age" : 39 ,
"secretIdentity" : "Jane Wilson" ,
"powers" : [ "Million tonne punch" , "Damage resistance" , "Superhuman
reflexes" ]
}, {
"name" : "Eternal Flame" ,
"age" : 1000000 ,
"secretIdentity" : "Unknown" ,
"powers" : [ "Immortality" , "Heat Immunity" , "Inferno" ,
"Teleportation" , "Interdimensional travel" ]
}]
}
也可以压缩表⽰:
{ "squadName" : "Super hero squad" , "homeTown" : "Metro
City" , "formed" : 2016 , "secretBase" : "Super tower" , "active" : true , "members" :
[{ "name" : "Molecule Man" , "age" : 29 , "secretIdentity" : "Dan Jukes" , "powers" :
[ "Radiation resistance" , "Turning tiny" , "Radiation blast" ]},{ "name" : "Madame
Uppercut" , "age" : 39 , "secretIdentity" : "Jane Wilson" , "powers" :[ "Million tonne
punch" , "Damage resistance" , "Superhuman reflexes" ]},{ "name" : "Eternal
Flame" , "age" : 1000000 , "secretIdentity" : "Unknown" , "powers" :[ "Immortality" , "Heat
Immunity" , "Inferno" , "Teleportation" , "Interdimensional travel" ]}]}
第二种和第一种描述的数据⼀样, 只不过第一种进行了格式化, 更易读

JSON的语法:

1. 数据在 键值对 (Key/Value)
2. 数据由逗号 , 分隔
3. 对象⽤ {} 表⽰
4. 数组⽤ [] 表⽰
5. 值可以为对象, 也可以为数组, 数组中可以包含多个对象

JSON的两种结构

1. 对象: ⼤括号 {} 保存的对象是⼀个⽆序的 键值对 集合. ⼀个对象以左括号 { 开始, 右括号 }
结束。每个"键"后跟⼀个冒号 : ,键值对使⽤逗号 , 分隔
2. 数组: 中括号 [] 保存的数组是值(value)的有序集合. ⼀个数组以左中括号 [ 开始, 右中括
] 结束,值之间使⽤逗号 , 分隔。

5.3 JSON字符串和Java对象互转

JSON本质上是⼀个字符串, 通过⽂本来存储和描述数据
Spring MVC框架也集成了JSON的转换⼯具, 我们可以直接使⽤, 来完成JSON字符串和Java对象的互转
本质上是 jackson-databind 提供的功能, Spring MVC框架中已经把该⼯具包引⼊了进来, 咱们直接使⽤即可, 如果脱离Spring MVC使⽤, 需要引⼊相关依赖:
< dependency >
< groupId >com.fasterxml.jackson.core</ groupId >
< artifactId >jackson-databind</ artifactId >
< version >2.13.5</ version >
</ dependency >
示例:使用 jackson-databind 将对象转化成JSON,将JSON转化成对象
运行结果:
【结论】
使⽤ObjectMapper 对象提供的两个⽅法, 可以完成对象和JSON字符串的互转
writeValueAsString: 把对象转为JSON字符串
readValue: 把字符串转为对象

5.4 JSON优点

1. 简单易⽤: 语法简单,易于理解和编写,可以快速地进⾏数据交换
2. 跨平台⽀持: JSON可以被多种编程语⾔解析和⽣成, 可以在不同的平台和语⾔之间进⾏数据交换和传输
3. 轻量级: 相较于XML格式, JSON数据格式更加轻量级, 传输数据时占⽤带宽较⼩, 可以提⾼数据传输速度
4. 易于扩展: JSON的数据结构灵活,⽀持嵌套对象和数组等复杂的数据结构,便于扩展和使⽤
5. 安全性: JSON数据格式是⼀种纯⽂本格式,不包含可执⾏代码, 不会执⾏恶意代码,因此具有较⾼的安全性
基于以上特点, JSON在Web应⽤程序中被⼴泛使⽤, 如前后端数据交互、API接⼝数据传输等

5.5 传递JSON对象

接收JSON对象, 需要使⽤ @RequestBody 注解

RequestBody: 请求正⽂,意思是这个注解作⽤在请求正⽂的数据绑定,请求参数必须在写在请求正文中

后端实现:

使用postman发送请求,以及响应:

通过Fiddler抓包,观察参数:

6. 获取URL中参数@PathVariable

@PathVariable 这个注解主要作⽤在请求URL路径上的数据绑定

默认传递参数写在URL上,SpringMVC就可以获取到
后端实现代码:

用postman发送请求,以及响应结果:

@PathVariable 也可以实现“重命名”的效果:

原理与上述 @RequestParam 相同

【注意】

如果⽅法参数名称和需要绑定的URL中的变量名称⼀致时, 可以简写, 不⽤给@PathVariable的属性赋值, 如上述例⼦中的id变量
如果⽅法参数名称和需要绑定的URL中的变量名称不⼀致时, 需要@PathVariable的属性value赋值,
如上述例⼦中的userName变量

7. 上传文件@RequestPart

使用 @RequestPart 注解可以实现上传一个文件到本地,例如一个图片。
后端代码实现:

使用postman发送请求,以及结果:

文件成功上传到磁盘路径D:/temp/Cirno.jpg :


如果哪里有疑问的话欢迎来评论区指出和讨论,如果觉得文章有价值的话就请给我点个关注还有免费的收藏和赞吧,谢谢大家!

http://www.dinnco.com/news/61296.html

相关文章:

  • 做网站的叫云啥怎样制作一个网页
  • 个人兴趣网站设计站长之家ppt素材
  • 分析杭州高端网站建设开发的区别培训机构网站设计
  • django 做网站赚钱seo营销排名
  • 印记室内设计网站旅行网站排名前十名
  • 怎么做网站挣钱刷seo关键词排名软件
  • 佛山微网站建设营销咨询公司排名前十
  • 公安机关互联网站备案网络营销推广工具
  • 静态网站代做惠州网站排名提升
  • 南京移动网站建设2022最新新闻
  • 网站锚点链接怎么做链接推广平台
  • 做调味品批发上哪个网站好重庆森林台词
  • io游戏网站惠州seo排名优化
  • 医学ppt模板免费下载网站免费发外链平台
  • 的网站建设公司seo服务外包客服
  • 深圳设计大厦qq排名优化网站
  • 网站内容建设流程培训网站模板
  • 企业网站模板中文seo排名优化公司哪家好
  • 站酷设计官方网站全国疫情高峰感染高峰进度查询
  • 做义工的网站济南网站推广
  • 个人网站的服务器环境安装网络营销成功的案例分析
  • 自己做的网站设定背景图像跨境电商网站
  • excel表如何做网站连接优化大师绿色版
  • 优化推广网站淄博媒体发稿公司
  • 赵公口网站建设北京网站设计扬州百度seo公司
  • 营销类网站建设免费网站建设seo
  • 用记事本做电影介绍的网站什么搜索引擎搜索最全
  • php动态网站开发实训目的100个经典创意营销方案
  • 深圳 公司网站设计郑州做网站哪家好
  • 南京网上注册公司流程沈阳百度seo关键词排名优化软件