本篇文章给大家分享的是有关如何在Springboot 2.x中运用server.servlet.context-path,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
功能
这个配置能够设置项目中的所有API的上下文路径(URL的一部分),与@RequestMapping有异曲同工之妙。
我们知道,@RequestMapping能够在API方法层级声明,同时能够在Controller的类层级声明,为什么能够在多层级声明呢?大家很容易想到,为了使API url的语义性,遵从REST标准的API是非常棒的,同一个Controller下的URL前缀相同能够非常明确的表达语义与关联关系。
那么,如果我们有多个项目/微服务呢?也应该做到这一点,只不过是以更大的层级方式在应用。server.servlet.context-path能够以一个project为单位配置默认的URL上下文路径,保持设计的一致性是非常合适的做法。
如果我们没有添加任何配置,则为默认值“/”,
我们可以在Springboot的properties下配置:
server.servlet.context-path=/api/demo
如果使用的是yml配置方式,则为:
server: servlet: context-path:/api/demo
那么我们调用一个地址本来为 [ip地址]:[端口号]/books 的API,现在变成了 [ip地址]:[端口号]/api/demo/books
注意!!! 配置上有一个小坑,如果你使用的是Springboot 1.x版本,我们需要改为使用 server.context-path 来配置路径。
我们能够通过此配置在更大的层级上做统一的路径配置,体现了RESTFul的语义化API URL的优势。
便于配置Ngnix的请求分发
之前看视频教程的时候发现教程上的配置是这样的
server.context-path=/IMooc
然后我按照这样配置发现重启了并未生效
Tomcat started on port(s): 8081 (http) with context path ''
后来百度发现原来1.X版本这样配置是可以的,但是2.X版本需要如下配置才能生效
server.servlet.context-path=/Daojihe Tomcat started on port(s): 8081 (http) with context path '/Daojihe'
以上就是如何在Springboot 2.x中运用server.servlet.context-path,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。