springboot集成swagger2时:
swaggerConfig:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
* 创建API应用
* apiInfo() 增加API相关信息
* 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
* 本例采用指定扫描的包路径来定义指定要建立API的目录。
*
* @return
*/
@Bean
public Docket restApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("标准接口")
.apiInfo(apiInfo("Spring Boot中使用Swagger2构建RESTful APIs", "1.0"))
.useDefaultResponseMessages(true)
.forCodeGeneration(false)
.select()
.apis(RequestHandlerSelectors.basePackage("com.test.controller"))
.paths(PathSelectors.any())
.build();
}
/**
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
* 访问地址:http://ip:port/swagger-ui.html
*
* @return
* 代码里的文字描述可以改成自己的
*/
private ApiInfo apiInfo(String title, String version) {
return new ApiInfoBuilder()
.title(title)
.description("更多请关注: https://blog.csdn.net/xqnode")
.termsOfServiceUrl("https://blog.csdn.net/xqnode")
.contact(new Contact("xqnode", "https://blog.csdn.net/xqnode", "xiaqingweb@163.com"))
.version(version)
.build();
}
}
目录结构:
pom.xml依赖:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
但是swagger版本都出到3.0了,这个版本2.7.0有点老
打开mvn repository仓库,搜索swagger如图:
这个时候就错了,搜索出来的不是我们需要的swagger,在pom.xml中我们可以看到:
因此我们需要搜索springfox_swagger2:
用springfox-swagger2时,我们选择3.0版本,此时pom.xml文件里只需要一个依赖就可以(swagger3):
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
在配置类config文件里面加入注解@EnableOpenApi
集成swagger-ui:
访问地址:localhost:9090/swagger-ui/index.html
swagger还可以加很多的注解来标识接口以及它的作用,比如controller是什么controller,叫什么名字,有什么用。比如userController,可以自行百度
引入swagger框架之后,就可以进行改造了。