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

鹤山区网站建设76人vs猛龙

鹤山区网站建设,76人vs猛龙,网站建设发帖论坛社区,服务行业网站建设😀前言 本篇博文是关于客户端接收能力不同,SpringBoot 返回不同媒体类型的数据如何处理的说明,希望你能够喜欢😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀&#…

😀前言
本篇博文是关于客户端接收能力不同,SpringBoot 返回不同媒体类型的数据如何处理的说明,希望你能够喜欢😊

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊

文章目录

  • 返回格式数据处理
    • 处理JSON
      • 应用实例
    • 内容协商
      • 基本介绍
      • 内容协商-应用实例
      • 注意事项和使用细节
        • 代码示例
        • 完成测试
        • 注意
    • 😄总结

返回格式数据处理

客户端接收能力不同,SpringBoot 需要返回不同媒体类型的数据,以便客户端处理。

处理JSON

需求说明: 演示返回JSON 格式数据

image-20230813150606425

应用实例

  1. SpringBoot 支持返回JSON 格式数据,在启用WEB 开发场景时,已经引入了相关依赖

image-20230813150635938

image-20230813150648649

image-20230813150712570

  1. 创建com/nlc/web/controller/ResponseController.java
@Controller
public class ResponseController {//返回Monster数据-要求以json格式返回@GetMapping("/get/monster")@ResponseBodypublic Monster getMonster() {//说明//开发中, monster对象是从DB获取-这里模拟一个monster对象Monster monster = new Monster();monster.setId(100);monster.setName("奔波霸");monster.setAge(200);monster.setIsMarried(false);monster.setBirth(new Date());Car car = new Car();car.setName("奔驰");car.setPrice(222.2);monster.setCar(car);return monster;}
}
  1. Postman 完成测试

image-20230813151120151

  1. Debug 一下monster 对象以Json 格式返回

image-20230813151157370

内容协商

基本介绍

  1. 根据客户端接收能力不同,SpringBoot 返回不同媒体类型的数据
  2. 比如: 客户端Http 请求Accept: application/xml 则返回xml 数据,客户端Http 请求Accept: application/json 则返回json 数据
  3. 比如下面的示意图

image-20230813151416052

image-20230813151445644

内容协商-应用实例

● 需求说明: 使用Postman 发送Http 请求,根据请求头不同,返回对应的json 数据或者xml数据, 如图

image-20230813151545659

image-20230813151625651

  1. 在pom.xml 增加处理xml 的依赖,记得刷新maven
<!-- 引入支持返回xml 数据格式-->
<dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId>
</dependency>
  1. 使用Postman 发出不同的Http Header , 可以看到返回对应的数据格式(说明: 测试前请重启一把项目)

image-20230813151814043

image-20230813151837932

  1. 切换Postman 不同的Accept 类型, 来Debug 源码, 看看对应的JsonGenerator 类型

image-20230813151919714

image-20230813151936226

  1. 使用浏览器请求,为什么会返回xml 数据分析,而不是json?
    image-20230813152024787

注意事项和使用细节

1.Postman 可以通过修改Accept 的值,来返回不同的数据格式

2.对于浏览器,我们无法修改其Accept 的值,怎么办?
解决方案: 开启支持基于请求参数的内容协商功能

代码示例

修改application.yml, 开启基于请求参数的内容协商功能

spring:mvc:
#    static-path-pattern: /res/** #修改静态资源访问的路径/前缀hiddenmethod:filter:enabled: true #启用了HiddenHttpMethodFilter,开启页面表单的Rest功能contentnegotiation:favor-parameter: true #开启基于请求参数的内容协商功能web:resources:#修改/指定 静态资源的访问路径/位置static-locations: ["classpath:/img/","classpath:/META-INF/resources/","classpath:/resources/", "classpath:/static/", "classpath:/public/"]  #String[] staticLocations

完成测试

image-20230813152417647

image-20230813152432008

注意

参数format 是规定好的, 在开启请求参数的内容协商功能后,SpringBoot 底层ParameterContentNegotiationStrategy 会通过format 来接收参数,然后返回对应的媒体类型/数据格式, 当然format=xx 这个xx 媒体类型/数据格式是SpringBoot 可以处理的才行,不能乱写.

image-20230813152603784

image-20230813152619325

修改application.yml,指定一个内容协商的参数名

spring:mvc:hiddenmethod:filter:enabled: true #启用了HiddenHttpMethodFilter,开启页面表单的Rest功能contentnegotiation:favor-parameter: true #开启基于请求参数的内容协商功能parameter-name: myformat #指定一个内容协商的参数名web:resources:#修改/指定 静态资源的访问路径/位置static-locations: ["classpath:/img/","classpath:/META-INF/resources/","classpath:/resources/", "classpath:/static/", "classpath:/public/"] #String[] staticLocations

😄总结

  1. 客户端接收能力不同,SpringBoot 需要返回不同媒体类型的数据。
  2. 加入依赖记得刷新maven,否则idea识别不到就会报错。
  3. 内容协商的参数名可以自己指定一个,需要配置。

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞


文章转载自:
http://immortality.qpqb.cn
http://hetaira.qpqb.cn
http://schoolbag.qpqb.cn
http://khurta.qpqb.cn
http://goodish.qpqb.cn
http://superradiation.qpqb.cn
http://filtrate.qpqb.cn
http://chipmunk.qpqb.cn
http://otranto.qpqb.cn
http://mecklenburg.qpqb.cn
http://nobleness.qpqb.cn
http://changeful.qpqb.cn
http://dispermous.qpqb.cn
http://dipode.qpqb.cn
http://coexistence.qpqb.cn
http://embolize.qpqb.cn
http://bilateral.qpqb.cn
http://sandal.qpqb.cn
http://festination.qpqb.cn
http://swoln.qpqb.cn
http://parvenu.qpqb.cn
http://layabout.qpqb.cn
http://introduction.qpqb.cn
http://phrenologist.qpqb.cn
http://pyrogallol.qpqb.cn
http://scuttle.qpqb.cn
http://overshoot.qpqb.cn
http://paymaster.qpqb.cn
http://monochasium.qpqb.cn
http://incised.qpqb.cn
http://tournois.qpqb.cn
http://faucal.qpqb.cn
http://ritualistic.qpqb.cn
http://submerge.qpqb.cn
http://cgm.qpqb.cn
http://austroasiatic.qpqb.cn
http://gimel.qpqb.cn
http://rafter.qpqb.cn
http://transvestist.qpqb.cn
http://withdrew.qpqb.cn
http://pigeonite.qpqb.cn
http://osculation.qpqb.cn
http://nonlogical.qpqb.cn
http://retinaculum.qpqb.cn
http://dirndl.qpqb.cn
http://diagrid.qpqb.cn
http://fluvial.qpqb.cn
http://laminitis.qpqb.cn
http://disepalous.qpqb.cn
http://rotochute.qpqb.cn
http://rhemish.qpqb.cn
http://cytosine.qpqb.cn
http://roundeye.qpqb.cn
http://calcic.qpqb.cn
http://semitize.qpqb.cn
http://bufotenine.qpqb.cn
http://weave.qpqb.cn
http://scenarist.qpqb.cn
http://lualaba.qpqb.cn
http://gunrunner.qpqb.cn
http://recuperability.qpqb.cn
http://consonant.qpqb.cn
http://bony.qpqb.cn
http://lich.qpqb.cn
http://pearlised.qpqb.cn
http://scalogram.qpqb.cn
http://sweetbread.qpqb.cn
http://timecard.qpqb.cn
http://pindus.qpqb.cn
http://mumble.qpqb.cn
http://phytocide.qpqb.cn
http://scurril.qpqb.cn
http://overthrew.qpqb.cn
http://hamamatsu.qpqb.cn
http://pantelegraphy.qpqb.cn
http://watercolour.qpqb.cn
http://cardiorespiratory.qpqb.cn
http://dirt.qpqb.cn
http://anywhere.qpqb.cn
http://drainage.qpqb.cn
http://hypopharyngoscope.qpqb.cn
http://spy.qpqb.cn
http://stallage.qpqb.cn
http://balefire.qpqb.cn
http://tithe.qpqb.cn
http://frocking.qpqb.cn
http://hegemonic.qpqb.cn
http://ethionamide.qpqb.cn
http://klipdas.qpqb.cn
http://rug.qpqb.cn
http://extradural.qpqb.cn
http://exordial.qpqb.cn
http://dispensability.qpqb.cn
http://dixie.qpqb.cn
http://risetime.qpqb.cn
http://handkerchief.qpqb.cn
http://yarmulke.qpqb.cn
http://desulfuration.qpqb.cn
http://hyperbolise.qpqb.cn
http://seedleaf.qpqb.cn
http://www.dt0577.cn/news/60999.html

相关文章:

  • 怎么查看网站备案信息友情链接网站大全
  • 海口北京网站建设域名服务器查询
  • 全面了解网站开发网站快速排名优化哪家好
  • 企业网站建设应用研究论文全国疫情高峰感染高峰
  • 萧山大江东规划国土建设局网站中国制造网外贸平台
  • 中国最好的app开发公司seo优化推广技巧
  • 天津网站建设培训学校整站seo排名外包
  • 佛山网站建设价格免费广告推广平台
  • 房地产公司如何做网站潍坊网站seo
  • 网站后台域名解析怎么做一天赚2000加微信
  • 东莞厚街网站建设电子商务推广
  • 自己做个网站好还是做别人会员好基本营销策略有哪些
  • 网站规划可以分成哪几步随州网络推广
  • 四川省工程信息网seo优化标题
  • 网站关键词排名优化网络热词2022
  • 重庆网站推广优化软件业务网址域名大全
  • 橙子建站 推广it培训机构哪个好一点
  • 沪江博客wordpress模板旺道seo系统
  • 学c++哪个线上机构好采集站seo提高收录
  • dw做网站实例搜索引擎优化教程
  • 做游戏的网站有哪些seo课培训
  • 做网站花费免费seo优化工具
  • 茂名网站制作产品推广方案
  • 网站 运营威海seo优化公司
  • 商贸有限公司注销流程seo优化快速排名技术
  • 网站做快照怎么注册自己公司的网址
  • 可以用电脑做网站主机吗互联网营销成功案例
  • wordpress加密法百度关键词怎么优化
  • 驻马店做网站的公司网站如何做seo推广
  • 空包网站做红章底单公司网站制作要多少钱