标签:contain 注解 def 联系人 app list The ref 多个
什么是Swagger
依赖导入
<!-- Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
加入配置
swagger:
title: 项目 API
description: SpringBoot 集成 Swagger 项目 API
version: 1.0
terms-of-service-url: http://www.baidu.com/
base-package: cn.anothertale.springbootshiro # 这一项指定需要生成 API 的包,一般就是 Controller
contact:
name: taohan
url: http://www.baidu.ccom/
email: 1289747698@qq.com
建立 Swagger Config
package cn.anothertale.springbootshiro.config.swagger;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* description: swagger 配置中心
*
* @author: taohan
* @date: 2019年03月20日
* @time: 16:52
*/
@Getter
@Setter
@Configuration
@EnableSwagger2
@ConditionalOnClass(EnableSwagger2.class)
@ConfigurationProperties(prefix = "swagger")
public class SwaggerConfig {
/**
* API 接口包路径
*/
private String basePackage;
/**
* API 页面标题
*/
private String title;
/**
* API 描述
*/
private String description;
/**
* 服务条款地址
*/
private String termsOfServiceUrl;
/**
* 版本号
*/
private String version;
/**
* 联系人
*/
private Contact contact;
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(basePackage))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title(title)
.description(description)
.termsOfServiceUrl(termsOfServiceUrl)
.version(version)
.contact(contact)
.build();
}
}
通过注解标明 API
Swagger 默认根据配置的包,扫描所有接口并生成对应的 API 描述和参数信息。
常用注解及对应属性如下:
@Api (描述一个 API 类,标注在 Controller 上)
@ApiOperation (用在 Controller 方法上,说明方法的作用)
@ApiImplicitParams (用在 Controller 方法上,描述一组请求参数)
@ApiImplicitParam(描述一个请求参数)
@ApiResponses (描述一组响应)
@ApiResponse (描述一个响应)
最后,可以在浏览器中输入 http://localhost:8080/swagger-ui.html 即可访问!
标签:contain 注解 def 联系人 app list The ref 多个
原文地址:https://www.cnblogs.com/dream-saddle/p/10566448.html