ContentNegotiation内容协商机制(三)---在视图View上的应用:ContentNegotiatingViewResolver深度解析【享学Spring MVC】(下)

简介: ContentNegotiation内容协商机制(三)---在视图View上的应用:ContentNegotiatingViewResolver深度解析【享学Spring MVC】(下)

3、测试代码


@Controller
@RequestMapping
public class HelloController {
    @GetMapping("/test/{type}")
    public String testContentNegotiation() {
        return "test ContentNegotiation";
    }
}


顺序请求:/test/a.pdf、/test/a.json、/test/a.html、/test/a(无后缀)分别得到的页面截图如下(一一对应)


image.png


image.png

image.pngimage.png


使用Accept方式演示如下:


image.png

image.png


image.png


后缀的优先级高于Accept,符合我们前面的理论知识。若没有指定后缀,Accept就会生效。


说明:因为我这里resolveViewName()是很定的返回了一个view,相当于可以解析任何扩展名。so即使你的扩展名不存在也会被解析,最终以html形式展示出来。在真实场景中是不会这么搞的


另外:这种case还有一种更为简便的测试方案–>无需提供视图解析器,只需提供默认视图即可,有兴趣的小伙伴可以自行尝试,加深理解。


总结


本文借助实例,讲解了ContentNegotiatingViewResolver内容协商在视图解析方面的应用,填补所谓的剩余的20%的内容。

虽然说现在视图技术对于后端来说使用相对较少了,但毕竟thymeleaf还是很优秀的,作为全栈工程师,你也有理由掌握一门模版引擎语言(熟练Vue、React的当我没说)


相关文章
|
18小时前
|
设计模式 JSON 前端开发
利用Spring MVC开发程序1
利用Spring MVC开发程序
10 0
|
21小时前
|
存储 安全 Java
Java顺序表解析与应用
Java顺序表解析与应用
|
23小时前
|
存储 前端开发 Java
Spring MVC
Spring MVC
10 2
|
3天前
|
缓存 Java Android开发
构建高效的Android应用:内存优化策略解析
【5月更文挑战第25天】在移动开发领域,性能优化一直是一个不断探讨和精进的课题。特别是对于资源受限的Android设备来说,合理的内存管理直接关系到应用的流畅度和用户体验。本文深入分析了Android内存管理的机制,并提出了几种实用的内存优化技巧。通过代码示例和实践案例,我们旨在帮助开发者识别和解决内存瓶颈,从而提升应用性能。
|
4天前
|
域名解析 网络协议 安全
【域名解析 DNS 专栏】动态 DNS(DDNS)技术解析及其应用
【域名解析 DNS 专栏】动态 DNS(DDNS)技术解析及其应用 动态DNS(DDNS)技术在应对动态IP地址环境下,提供了一种灵活的解决方案,使设备能通过固定域名被访问。当设备IP改变时,DDNS服务会更新域名与新IP的映射,确保访问畅通。广泛应用于家庭远程访问设备和企业网络管理。简单的DDNS更新Python示例展示了发送请求更新过程。然而,DDNS面临服务可靠性和安全性的挑战。总体而言,DDNS技术提升了网络环境的便利性和效率,并将持续发展和完善。
|
4天前
|
监控 程序员 Python
Python装饰器:深入解析与应用
Python装饰器:深入解析与应用
|
4天前
|
存储 Java
Java语言中的类与对象:深入解析与实战应用
Java语言中的类与对象:深入解析与实战应用
|
14天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
27 0
|
14天前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
67 0
|
6月前
|
开发框架 自然语言处理 前端开发
基于ASP.NET MVC开发的、开源的个人博客系统
基于ASP.NET MVC开发的、开源的个人博客系统
53 0

推荐镜像

更多