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

网页类网站宁波网站建设推广平台

网页类网站,宁波网站建设推广平台,wordpress 加载效果,物流公司响应式网站建设springboot 的 路径匹配 和 内容协商 对于路径匹配,自己的总结就是: 以前路径匹配时默认不检查后缀,http://localhost:8080/aaa.json 可以直接访问到 RequstMapping(“/aaa”) 的方法。现在不行了。现在会检查后缀了。 内容协商的理解总结&…

springboot 的 路径匹配 和 内容协商

对于路径匹配,自己的总结就是:
以前路径匹配时默认不检查后缀,http://localhost:8080/aaa.json 可以直接访问到 @RequstMapping(“/aaa”) 的方法。现在不行了。现在会检查后缀了。

内容协商的理解总结:
就是通过添加 xml 依赖,或者在yml配置文件中进行一些配置,来指定访问的方法响应回来的数据类型,比如 json、xml 等。

★ 路径匹配

 以前:路径匹配时默认不检查后缀。比如请求 "GET  /users.json"Spring MVC可用@GetMapping("/users")修饰的处理方法来处理该请求。Pathmatch类中定义了如下一行:private boolean useSuffixPattern = false; 表明Spring Boot默认的路径匹配会执行后缀检查,这意味着“GET /users.json”请求不会匹配到@GetMapping("/users")注解修饰的处理方法。【可见】:Spring Boot不再建议使用 请求后缀 作为 “内容协商” 的方式。【简单来说】 请求地址必须与@RequestMapping映射的地址完全相同,不支持请求地址后面带后缀。

对于路径匹配,自己的总结就是:
以前路径匹配时默认不检查后缀,http://localhost:8080/aaa.json 可以直接访问到 @RequstMapping(“/aaa”) 的方法。现在不行了。现在会检查后缀了。

★ 何谓内容协商

内容协商:服务器中控制器的一个处理方法可根据请求自动生成不同 content-type 的响应,比如HTML响应、JSON、XML响应,甚至EXCEL、PDF响应等。内容协商时如何判断客户端希望接收的响应类型呢?- 根据Accept请求头(最主流的方式,尤其在RESTful)- 根据请求地址的后缀,比如请求/users.json,表明希望服务器生成JSON响应。 (已经不再推荐,可能会被彻底删除)- 根据额外的请求参数。比如请求/users?format=json,表明希望服务器生成JSON响应。提示:关于内容协商的深入介绍和详细示例,可以参考《轻量级Java Web企业应用实战》的6.5.8小节。

代码演示:

需求:根据设置Accept请求头来演示返回的响应类型。

返回json格式:

添加注解 @RestController 返回的就是 json 格式的数据
在这里插入图片描述

返回 xml 格式:

要返回xml 格式的数据,需要添加xml 的依赖
在这里插入图片描述

如图:代码没变,如果添加了这个 xml 依赖 ,访问这个方法,返回的自己就变成了 xml 格式的响应了。

在这里插入图片描述

postman 测试

在这里插入图片描述

★ 内容协商的推荐方式

- 优先使用Accept请求头。- 如果不设置合适的Accept请求头,建议使用额外的format参数来告诉服务器生成的响应类型,比如”GET /users?format=json“告诉服务器生成JSON响应。在Contentnegotiation类的源代码中,包含如下行:- private boolean favorParameter = false;
表明Spring Boot默认关闭了使用额外的参数来指定响应类型。可通过如下配置来启用这个 --> 使用额外的参数来指定响应类型:
spring.mvc.contentnegotiation.favor-parameter=true# 设置使用额外的fkft请求参数(代替原来默认的format请求参数)来指定响应的内容类型
spring.mvc.contentnegotiation.parameter-name=fkft【为了生成XML响应,首先需要让应用增加XML支持,比如Jackson Dataformat  XML】

代码演示:

需求:通过使用额外的参数来指定响应类型

配置这个就能启动 【使用额外参数来执行响应类型】的功能。默认是关闭的,需要在配置中启动。
这种就是内容协商。

#配置通过使用额外的参数来指定响应类型
spring:mvc:contentnegotiation:favor-parameter: true

在这里插入图片描述

演示这个功能:
# 设置使用额外的 ljh 请求参数名(代替原来默认的format请求参数名)来指定响应的内容类型
spring.mvc.contentnegotiation.parameter-name=ljh

在这里插入图片描述

内容协商的理解总结:就是通过添加 xml 依赖,或者在yml配置文件中进行一些配置,来指定访问的方法响应回来的数据类型,比如 json、xml 等。

★ 强制开启基于后缀匹配的内容协商。

需要同时开启两个设置:- 路径匹配时启用”后缀匹配“(不检查后缀)- 内容协商时使用后缀添加如下配置:
# 设置路径匹配时忽略检查后缀
# 该配置让“GET /users.json”能匹配GetMapping("/users")
spring.mvc.pathmatch.use-suffix-pattern=true
# 开启内容协商时的“后缀匹配”模式
spring.mvc.contentnegotiation.favor-path-extension=true▲ 更安全的配置:在路径匹配时,后缀匹配只匹配那些已经注册过的后缀类型,比如.json、.xml等,但对于.exe这种未知的后缀那就依然不匹配。# 设置路径匹配时忽略检查后缀
spring.mvc.pathmatch.use-suffix-pattern=true
# 开启内容协商时的“后缀匹配”模式
spring.mvc.contentnegotiation.favor-path-extension=true
# 设置只匹配已注册的后缀类型
spring.mvc.pathmatch.use-registered-suffix-pattern=true
# 通过下面属性可注册自定义的扩展名和内容类型的对应关系
spring.mvc.contentnegotiation.media-types.markdown=text/markdown

代码演示:

# 设置路径匹配时忽略检查后缀
# 该配置让“GET /users.json”能匹配GetMapping("/users")
spring.mvc.pathmatch.use-suffix-pattern=true
# 开启内容协商时的“后缀匹配”模式
spring.mvc.contentnegotiation.favor-path-extension=true

演示通过 后缀名 来返回指定的响应类型。强制开启基于后缀匹配的内容协商
如图:
后缀为 .xml 返回的响应类型就是 xml
后缀为 .json 返回的响应类型就是 json
后缀为 .abc 乱写的,返回的响应类型就是原本不添加后缀的响应类型

在这里插入图片描述

因为后缀乱写都能匹配到,所以安全起见需要再配置一些东西

# 设置只匹配已注册的后缀类型
spring.mvc.pathmatch.use-registered-suffix-pattern=true
# 通过下面属性可注册自定义的扩展名和内容类型的对应关系
spring.mvc.contentnegotiation.media-types.markdown=text/markdown

通过配置这个 spring.mvc.pathmatch.use-registered-suffix-pattern=true,设置只匹配已注册的后缀类型后,乱写后缀就匹配不到方法了,安全性提高了一点
在这里插入图片描述

这个是自定义的拓展名:

# 通过下面属性可注册自定义的扩展名和内容类型的对应关系
# 指定 .markdown 后缀 和 text/markdown 之间的对应关系
spring.mvc.contentnegotiation.media-types.markdown=text/markdown

自定义的拓展名,不过应该是没有这个text/markdown与之对应,所以报错
在这里插入图片描述

在这里插入图片描述

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

相关文章:

  • 做策划的都上哪些网站搜索资料间cps广告联盟网站
  • 微网站建设招聘竞价托管就选微竞价
  • 做短视频网站用哪家cms如何制作视频网站
  • 睢宁网站建设网站查询访问
  • 怎么做网站自己当站长百度收录比较好的网站
  • 单位门户网站怎么做seo站长工具平台
  • 新服务器做网站如何配置合肥百度推广优化
  • 微网站搭建的步骤和技巧31省市新增疫情最新消息
  • 赛事竞猜网站开发网站推广软件哪个最好
  • dedecms 资源类网站外包seo公司
  • 高埗镇做网站免费友情链接网站
  • 网站制作的重要性免费网站大全
  • 深圳微信网站建设报价搜索引擎优化的报告
  • 中英文微信网站开发营销课程培训视频
  • 嘉兴网站制作公司关键词查找的方法有以下几种
  • 网站建设和网站设计一样吗靠谱的推广平台有哪些
  • 网站的反链要怎么做百度地图在线使用
  • 用内网穿透做网站可以被收录吗霸榜seo
  • 做go分析的网站沧州网站建设优化公司
  • 院校网站建设小红书关键词热度查询
  • 北京正邦网站建设全球十大搜索引擎
  • 室内设计做效果图可以接单的网站什么是百度指数
  • 高端网站定制开发深圳女生学市场营销好吗
  • 凡科怎么建站教程黑龙江网络推广好做吗
  • 阜宁做网站哪家好网络推广外包内容
  • wordpress模板主题介绍惠州seo管理
  • 做网站第一步要学什么百度广告投放公司
  • 网站加载速率谷歌关键词优化怎么做
  • 做手机网站百度网址是多少
  • 什么自己做网站网络服务提供商