Docket(Swagger2中应用)

修饰符和类型 方法和说明 描述
Docket additionalModels(com.fasterxml.classmate.ResolvedType first, com.fasterxml.classmate.ResolvedType… remaining) 添加不属于任何批注或可能是隐式的其他模型的方法
Docket alternateTypeRules(AlternateTypeRule… alternateTypeRules) 添加模型替换规则(alternateTypeRules)
Docket apiDescriptionOrdering(com.google.common.collect.Ordering apiDescriptionOrdering) 控制com.wordnik.swagger.model.ApiDescription订购方式。
Docket apiInfo(ApiInfo apiInfo) 设置api的meta信息,包括在json ResourceListing响应中。
Docket apiListingReferenceOrdering(com.google.common.collect.Ordering apiListingReferenceOrdering) 控制ApiListingReference的排序方式。
DocumentationContext configure(DocumentationContextBuilder builder) 通过合并/覆盖用户指定的值来构建Docket。
Docket consumes(java.util.Set consumes)  
Docket directModelSubstitute(java.lang.Class clazz, java.lang.Class with) 用提供的替代品直接替代模型类,例如 directModelSubstitute(LocalDate.class, Date.class) 用Date替代LocalDate
Docket enable(boolean externallyConfiguredFlag) 可以从外部控制此swagger插件实例的自动初始化。
Docket enableUrlTemplating(boolean enabled) 决定是否对路径使用url模板。
Docket extensions(java.util.List vendorExtensions) 添加到api的供应商扩展
Docket forCodeGeneration(boolean forCodeGen) 将其设置为true以便使文档代码生成友好
Docket genericModelSubstitutes(java.lang.Class… genericClasses) 用其直接参数化类型替换每个泛型类。
DocumentationType getDocumentationType() java.lang.String getGroupName()获取插件的组名。
Docket globalOperationParameters(java.util.List operationParameters) 添加将应用于所有操作的默认参数。
Docket globalResponseMessage(org.springframework.web.bind.annotation.RequestMethod requestMethod,java.util.List responseMessages) 在http请求方法级别覆盖默认的http响应消息。
Docket groupName(java.lang.String groupName) 如果存在多个Docket实例,则每个实例必须具有此方法提供的唯一groupName。
Docket host(java.lang.String host)  
Docket ignoredParameterTypes(java.lang.Class… classes) 添加忽略的控制器方法参数类型,以便框架不会为这些特定类型生成摇摇欲坠的模型或参数信息。
boolean isEnabled() 是否启用了插件|
Docket operationOrdering(com.google.common.collect.Ordering operationOrdering) 提供用于操作的排序模式注意:@see #732以防您想知道为什么指定位置可能不起作用的情况。
Docket pathMapping(java.lang.String path) 将servlet路径映射(如果有)添加到apis基本路径的可扩展性机制。
Docket pathProvider(PathProvider pathProvider) 确定生成的特定于URL的URL。
Docket produces(java.util.Set produces)  
Docket protocols(java.util.Set protocols)  
Docket securityContexts(java.util.List securityContexts) 配置哪些api操作(通过正则表达式模式)和HTTP方法将安全性上下文应用于api。
Docket securitySchemes(java.util.List<? extends SecurityScheme> securitySchemes) 配置全局com.wordnik.swagger.model.SecurityScheme适用于所有或某些api操作。
ApiSelectorBuilder select() 启动用于api选择的构建器。
boolean supports(DocumentationType delimiter)  
Docket tags(Tag first, Tag… remaining) 将全局标签添加到摘要的方法
Docket useDefaultResponseMessages(boolean apply) 允许忽略预定义的响应消息默认值

示例

package sc.whorl.system.config.swagger2;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.ResponseEntity;

import java.time.LocalDate;

import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class Swagger2Config {
	/**
	 * 通过 createRestApi函数来构建一个DocketBean
	 * 函数名,可以随意命名,喜欢什么命名就什么命名
	 */
	@Bean
    public Docket createRestApi() {
    	return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo())
				.select()
				.apis(RequestHandlerSelectors.basePackage("sc.whorl.logic.rmiservice.units.service"))
				.paths(PathSelectors.any())
				.build()
				.pathMapping("/")
				.directModelSubstitute(LocalDate.class, String.class)
				.genericModelSubstitutes(ResponseEntity.class)
				.useDefaultResponseMessages(false)
				.enableUrlTemplating(true);
    }
    //构建 api文档的详细信息函数
	@SuppressWarnings("deprecation")
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				//页面标题
				.title("RESTful API")
				//创建人
				.contact("sc-whorl")
				//版本号
				.version("1.0")
				//描述
				.description("初始化api")
				.build();
	}
}