学习目标
- swagger的作用和概念
- 了解前后端分离
- springboot中集成swagger
Swagger简介
前后端分离产生的问题
Vue+Springboot
弊端:前端和后端对数据的需求无法及时沟通Swagger号称世界上最流行的api框架 restful api在线自动生成工具(api自动更新) 在线自动测试接口
springboot继承Swagger配置
导入依赖配置
- swagger2
- ui
配置swagger,这一步swagger已经可以运行了
@Configuration@EnableSwagger2public class Swaggerconfig {}
配置完成,访问http://localhost:8081/swagger-ui.html
swagger详细配置,配置swagger的bean实例,Docket
@Beanpublic Docket docket(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())//基本信息.enable(false)//设置是否开启swagger.groupName("zgd")//设置组名.select()//扫描接口.apis(RequestHandlerSelectors.basePackage("Main.Controller"))//配置扫描的方式.build();}
1:swagger配置信息
private ApiInfo apiInfo(){Contact contact =new Contact("theunderkey", "1", "1");//作者信息return new ApiInfo("LP","the interface Api of LP","1.0","urn:tos",contact,"Apache 2.0","http://www.apache.org/licenses/LICENSE-2.0",new ArrayList());}//具体看源码public ApiInfo(String title, String description, String version, String termsOfServiceUrl, Contact contact, String license, String licenseUrl, Collection<VendorExtension> vendorExtensions) {this.title = title;this.description = description;this.version = version;this.termsOfServiceUrl = termsOfServiceUrl;this.contact = contact;this.license = license;this.licenseUrl = licenseUrl;this.vendorExtensions = Lists.newArrayList(vendorExtensions);}
2:配置扫描接口
Docket中有select()方法,返回ApiSelectorBuilder类实例ApiSelectorBuilder类实例中有apis(selector)方法用来设置扫描的方式,该方法返回本实例selector是RequestHandler接口的实现类,RequestHandlerSelectors(),我们可以查看此类中的扫描接口方式一般使用basePackage()方法public ApiSelectorBuilder select() {return new ApiSelectorBuilder(this);}
3:设置组以及swagger是否启动
swagger实例Docket中的方法设置组名,多个组就是多个Docket实例public Docket groupName(String groupName) {this.groupName = (String)BuilderDefaults.defaultIfAbsent(groupName, this.groupName);return this;}设置swagger是否开启,false则不开启,默认是开启的通过环境让swagger是否开启,只用通过Environment接口的acceptsProfiles判断是什么环境即可boolean acceptsProfiles(String... var1);public Docket enable(boolean externallyConfiguredFlag) {this.enabled = externallyConfiguredFlag;return this;}
4:实体类信息配置
常用注解@ApiOperation("获取基本数据") //用来说明接口@ApiParam("") //用来说明接口接受的数据@ApiModel("日常数据类") //说明实体类@ApiModelProperty("日期id") //说明实体类的属性

