Springboot 2.x中server.servlet.context-path的运用详解
今天在开发项目的时候遇到了请求不通API的问题,最开始以为是server.servlet.context-path配置导致的问题,最终发现是由于AWS端口未开放/监听导致的connection refuse。虽然如此,仍然想记录一下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的请求分发
SpringBoot2.X配置server.context-path不生效的解决
之前看视频教程的时候发现教程上的配置是这样的
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的运用详解的文章就介绍到这了,更多相关Springboot 2.x server.servlet.context-path内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java commons-httpclient如果实现get及post请求
这篇文章主要介绍了Java commons-httpclient如果实现get及post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-09-09log4j中logger标签中additivity属性的用法说明
这篇文章主要介绍了log4j中logger标签中additivity属性的用法说明,基于很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12SpringBoot整合mybatis通用Mapper+自定义通用Mapper方法解析
这篇文章主要介绍了SpringBoot整合mybatis通用Mapper+自定义通用Mapper方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03idea之Recompile、Rebuild和Build之间的区别及说明
这篇文章主要介绍了idea之Recompile、Rebuild和Build之间的区别及说明,具有很好的参考价值,希望对有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-08-08Spring @ExceptionHandler注解统一异常处理和获取方法名
这篇文章主要介绍了Spring注解之@ExceptionHandler 统一异常处理和获取方法名,在实际项目中,合理使用@ExceptionHandler能够提高代码的可维护性和用户体验,通过本文的解析和实践,读者可以更好地理解和掌握@ExceptionHandler的用法和原理2023-09-09Springboot+SpringSecurity+JWT实现用户登录和权限认证示例
这篇文章主要介绍了Springboot+SpringSecurity+JWT实现用户登录和权限认证示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-06-06
最新评论