All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nepxion.discovery.console.configuration.SwaggerConfiguration Maven / Gradle / Ivy

There is a newer version: 6.22.0
Show newest version
package com.nepxion.discovery.console.configuration;

/**
 * 

Title: Nepxion Discovery

*

Description: Nepxion Discovery

*

Copyright: Copyright (c) 2017-2050

*

Company: Nepxion

* @author Haojun Ren * @version 1.0 */ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 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; @Configuration @EnableSwagger2 public class SwaggerConfiguration implements WebMvcConfigurer { @Value("${spring.application.name}") private String serviceName; @Value("${swagger.service.base.package:com.nepxion.discovery.console.endpoint}") private String basePackage; @Value("${swagger.service.description:Console Restful APIs}") private String description; @Value("${swagger.service.version:1.0.0}") private String version; @Value("${swagger.service.license.name:Apache License 2.0}") private String license; @Value("${swagger.service.license.url:http://www.apache.org/licenses/LICENSE-2.0}") private String licenseUrl; @Value("${swagger.service.contact.name:Haojun Ren}") private String contactName; @Value("${swagger.service.contact.url:https://github.com/Nepxion/Discovery}") private String contactUrl; @Value("${swagger.service.contact.email:[email protected]}") private String contactEmail; @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage(basePackage)) // 扫描该包下的所有需要在Swagger中展示的API,@ApiIgnore注解标注的除外 .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title(serviceName) .description(description) .version(version) .license(license) .licenseUrl(licenseUrl) .contact(new Contact(contactName, contactUrl, contactEmail)) .build(); } // 解决跨域问题 @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedHeaders("*") .allowedMethods("*") .allowedOrigins("*"); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy