文档章节

Swagger UI URL 添加自定义后缀 .do

SimonAt
 SimonAt
发布于 2018/01/17 17:44
字数 217
阅读 610
收藏 1

我的系统采用的是Spring boot.

总之部署测试环境后遇到了个问题, 需要把Swagger UI 发出的请求的URL 添加 .do后缀。

 

Spring 配置:

#开发环境
spring:
    profiles: dev
log:
    path: /Volumes/data/logs/box-web
    level: INFO    
server:
    port: 8086
    contextPath: /box/v1

 

Swaager Config:

主要就是自定义 CustRelativePathProvider  类,把url + 一个 .do 后缀。

@Configuration
public class Swagger2Config {

	@Value("${server.contextPath}")
	private String contextPath;

	@Bean
	public Docket createRestApi() {
		Docket docket = new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).host("abc.com:80")
				.useDefaultResponseMessages(false).pathProvider(new CustRelativePathProvider()).select()
				.apis(RequestHandlerSelectors.basePackage("com.abc.box")).paths(PathSelectors.any()).build();
		return docket;
	}

	public class CustRelativePathProvider extends AbstractPathProvider {
		public static final String ROOT = "/";

		@Override
		public String getOperationPath(String operationPath) {
			UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromPath("/");
			String uri = removeAdjacentForwardSlashes(uriComponentsBuilder.path(operationPath).build().toString());
			return uri + ".do";
		}

		@Override
		protected String applicationPath() {
			return isNullOrEmpty(contextPath) ? ROOT : contextPath;
		}

		@Override
		protected String getDocumentationPath() {
			return ROOT;
		}
	}

	private ApiInfo apiInfo() {
		return new ApiInfoBuilder().title("后端API文档")
				.description("API根地址:http://com.abc.com/box/v1/swagger-ui.html")
				.termsOfServiceUrl("http://com.abc.com/box/v1/swagger-ui.html")
				.contact(new Contact("**数据", "abc.com", "chengongmo@126.com")).version("v1").build();
	}
}

 

© 著作权归作者所有

SimonAt
粉丝 7
博文 75
码字总数 14253
作品 0
苏州
程序员
私信 提问
swagger-bootstrap-ui 1.8.0 发布,Swagger 前端 UI 实现

swagger-bootstrap-ui 1.8.0 发布了。swagger-bootstrap-ui 是 Swagger 的前端 UI 实现,目的是替换 Swagger 默认的 UI 实现 Swagger-UI,使文档更友好一点儿 swagger-bootstrap-ui 1.8.0 主...

八一菜刀
2018/08/10
1K
18
萧明/swagger-bootstrap-ui

swagger-bootstrap-ui 简介 是的前端UI实现,目的是替换默认的UI实现,使文档更友好一点儿.... 只是的UI实现,并不是替换功能,所以后端模块依然是依赖的,需要配合的注解达到效果,注解说明 功能 ...

萧明
2017/04/19
0
0
Swagger 前端 UI 实现 - swagger-bootstrap-ui

swagger-bootstrap-ui 简介 是的前端UI实现,目的是替换默认的UI实现,使文档更友好一点儿.... 只是的UI实现,并不是替换功能,所以后端模块依然是依赖的,需要配合的注解达到效果,注解说明 功能 ...

八一菜刀
2017/04/19
15.9K
22
03、Swagger2和Springmvc整合详细记录(爬坑记录)

开始之前这个系列博文基本是,在项目的使用中一些模块的内容记录,但是后期逐渐优化,不单单是整合内容。 swagger简介 1、swagger主要提供了三个功能: Swagger Editor: Swagger提供的一个编辑...

weir_will
2018/06/18
0
0
Yii2+Swagger搭建RESTful风格的API项目

在现有的Advanced Template上搭建RESTful API项目的步骤: 本案例前提说明: 本例中不使用yiirestActiveController自动创建的API,而是自定义一个API 使用Auth2.0的Bearer模式进行身份验证 ...

无上@诀
2016/08/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MainThreadSupport

MainThreadSupport EventBus 3.0 中的代码片段. org.greenrobot.eventbus.MainThreadSupport 定义一个接口,并给出默认实现类. 调用者可以在EventBus的构建者中替换该实现. public interface ...

马湖村第九后羿
36分钟前
3
0
指定要使用的形状来代替文字的显示

控制手机键盘弹出的功能只能在ios上实现,安卓是实现不了的,所以安卓只能使用type类型来控制键盘类型,例如你要弹出数字键盘就使用type="number",如果要弹出电话键盘就使用type="tel",但这...

前端老手
46分钟前
5
0
总结:Raft协议

一、Raft协议是什么? 分布式一致性算法。即解决分布式系统中各个副本数据一致性问题。 二、Raft的日志广播过程 发送日志到所有Followers(Raft中将非Leader节点称为Follower)。 Followers收...

浮躁的码农
54分钟前
7
0
Flask-admin Model View字段介绍

Model View字段介绍 can_create = True 是否可以创建can_edit = True 是否可以编辑can_delete = True 是否可以删除list_template = 'admin/model/list.html' 修改显......

dillonxiao
今天
5
0
从AnnotationTransactionAspect开始rushSpring事务

0. Spring 事务 with LTW 0.1. Spring 事务 With LTW的原因: Pure Proxy-base mode有缺陷,其失效原因分析及使用方法及运行机制(LoadTimeWeaverBeanDefinitionParser和 AspectJWeavingEnable......

Aruforce
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部