package kr.wisestone.owl.config; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; 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.Parameter; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class SwaggerConfig { private static final String API_NAME = "OWL API"; private static final String API_VERSION = "1.0.0"; private static final String API_DESCRIPTION = "OWL API 명세서"; @Bean public Docket api() { // Parameter parameterBuilder = new ParameterBuilder() // .name(HttpHeaders.AUTHORIZATION) // .description("Access Tocken") // .modelRef(new ModelRef("string")) // .parameterType("header") // .required(false) // .build(); List globalParameters = new ArrayList<>(); // globalParameters.add(parameterBuilder); return new Docket(DocumentationType.SWAGGER_2) .globalOperationParameters(globalParameters) .consumes(getConsumeContentTypes()) .produces(getProduceContentTypes()) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("kr.wisestone.owl.web.controller.Api")) .paths(PathSelectors.any()) .build(); } public ApiInfo apiInfo() { return new ApiInfoBuilder() .title(API_NAME) .version(API_VERSION) .description(API_DESCRIPTION) .build(); } private Set getConsumeContentTypes() { Set consumes = new HashSet<>(); consumes.add("application/json;charset=UTF-8"); consumes.add("application/x-www-form-urlencoded"); return consumes; } private Set getProduceContentTypes() { Set produces = new HashSet<>(); produces.add("application/json;charset=UTF-8"); return produces; } }