文档章节

Swagger2与Spring REST Docs

抢小孩糖吃
 抢小孩糖吃
发布于 2019/02/21 14:12
字数 526
阅读 600
收藏 1

编者注

之前让其他写服务端的小伙伴支持swagger,然后最近一直在写Unity,没有把之前的项目和Swagger进行集成

Swagger Core

Swagger Core Git

Swagger 2.X 快速开始

注意:Swagger 2.x 遵循OpenApi 3.0定义的文件。如果你期望使用1.5.x版本的Swagger或者OpenApi 2.0,请参考1.5.X JAX-RS Setup

SpringBoot与Swagger2

Gradle

dependencies {
	// 原生UI
	//compile("io.springfox:springfox-swagger-ui:2.9.2")
	// 国内人编写的左右分隔的UI
	compile("com.github.xiaoymin:swagger-bootstrap-ui:1.8.9")
    compile("io.springfox:springfox-swagger2:2.9.2")
	//...
}

配置

由于springboot需要手动编写配置Bean,则代码如下

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {

    @Bean
    public Docket createRestApi(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(getApiInfo())
                .groupName("groupName")
                .select()
                .apis(RequestHandlerSelectors.basePackage("org.aicfve"))
                .paths(PathSelectors.any())
                .build();
    }

    public ApiInfo getApiInfo(){
        return new ApiInfoBuilder()
                .title("swagger-bootstrap-ui RESTful APIs")
                .description("Descrption")
                .termsOfServiceUrl("http://localhost")
                .contact("zhanpeng@bfa.edu.cn")
                .version("1.0")
                .build();
    }
}

运行后,通过http://localhost:8080/doc.html能够看到swagger-bootstrap-ui内容,但是看不到Controller内容。其他内容需要添加描述

Api注解


访问URL

springfox-swagger-ui

http://localhost:8080/swagger-ui.html

swagger-bootstrap-ui

http://localhost:8080/doc.html

路由配置

有些地方需要添加springmvc的路由,则如下代码,注意WebMvcCOnfigurerAdpator已经放弃

@Configuration
public class SwaggerMvcConfigurer implements WebMvcConfigurer {
    private static final Logger logger = LoggerFactory.getLogger(SwaggerMvcConfigurer.class);

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        logger.info("Add Resource Handlers");
//        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
//
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

特别注意

springcloud-config-server 无法与Swagger集成,springcloud-config会屏蔽路由 https://github.com/spring-cloud/spring-cloud-config/issues/759

Spring REST Docs - 翻译

https://spring.io/projects/spring-restdocs

Overview

Spring REST Docs为RESTful文档进行服务。
通过Asciidoctor绑定手写文档,并且自动生成[Spring MVC Test]的片段。通过这种方法,把你从Swagger文档工具中解放出来。
帮助你准确、简洁、结构化的构建文档。文档仅需用户很少的信息。

Spring Boot Config

Spring Boot在测试中提供 @AutoConfigureRestDocs注解用于Spring REST Docs的链接。

快速开始

通过Spring Initializr 启动应用。

© 著作权归作者所有

抢小孩糖吃

抢小孩糖吃

粉丝 74
博文 264
码字总数 253459
作品 0
东城
程序员
私信 提问
加载中

评论(0)

SpringBoot2基于Swagger2生成离线Api文档

通过swagger2与swagger-ui可以很方便的生成系统的在线api文档,这方面的博客网上有很多。 但是利用swagger生成离线api文档的博客就不多了。有的无法兼容springboot2,有的配置起来太麻烦,复...

谢随安
2019/01/30
0
0
Build RESTful APIs with Spring MVC: Swagger

Visualizes REST APIs with Swagger Swagger is widely used for visualizing APIs, and with Swagger UI it provides online sandbox for frontend developers. Visualizes REST APIs Sprin......

hantsy
2016/07/25
176
0
Swagger2 WebFlux小试牛刀

序 本文主要展示一下如何使用支持WebFlux的Swagger maven swagger.version目前是3.0.0-SNAPSHOT,因而没有发布到maven官方仓库里头,需要从jcenter-snapshots中拉取 配置 由于支持了WebFlux...

go4it
2019/04/10
191
0
白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档

前言 通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过进行api文档生成的。现在由于使用了统一路由网...

oKong
2018/10/20
1.3K
1
Spring Boot中使用Swagger2生成RESTful API文档(转)

效果如下图所示: 添加Swagger2依赖 在中加入Swagger2的依赖 注意:如果是2.2版本的,有可能在右下角会出现错误,那么请升级为2.7版本的即可解决这个问题。 创建Swagger2配置类 在同级创建S...

easonjim
2017/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java基本程序设计结构

简述 Java起源于Sun公司为机顶盒开发的一款开发语言“Oak”,由于该名称被抢注更名为“Java”。Java是基于面向对象的开发语言,其特性在于“一次编译,到处运行”,这实现依赖于JVM。 Java程...

Yongy
21分钟前
49
0
【jquery仿dataList——性能优化】模板预编译思想提高性能10倍以上!!!

那撒,IE和google性能不减反增,求高手解释....... 前言 呵呵,当然,什么预编译什么性能提高5倍以上基本上市坑爹的,这里就是为了吸引阅读量,哈哈。 上当的大哥主动顶下哇??? 正题 之前...

shzwork
25分钟前
57
0
用博客系统开发作文网站探索MYSQL数据库性能和缓存技巧[图]

用博客系统开发作文网站探索MYSQL数据库性能和缓存技巧[图] 最近忙着建站,感觉现在建站是越来越难了,但还是用ZBLOG系统建了一个作文网站,叫做求索作文网,但是发现博客系统的缺点也还是有...

原创小博客
28分钟前
31
0
LinearLayout不在ScrollView内扩展

我在ScrollView中有一个LinearLayout ,它有android:layout_height="fill_parent" ,但它没有扩展到ScrollView的整个高度。 我的布局看起来像: level layout layout_width layout_......

技术盛宴
46分钟前
37
0
docker上启动nginx,并配置修改nginx的配置文件

1.使用docker 下载nginx 镜像 docker pull nginx 2.启动nginx docker run --name nginx -p 80:80 -d nginx 这样就简单的把nginx启动了,但是我们想要改变配置文件nginx.conf ,进入容器,命令...

yuxw
50分钟前
45
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部