2017-12-14 14 views
0

스프링 보트를 프로젝트에 통합하려고 시도했지만 항상 오류가 발생합니다. "이름이 'modelMapperImpl'인 빈을 만드는 동안 오류가 발생했습니다. bean 클래스 [intelpector.properties.swagger2@configuration을 제거 할 때

WebConfig :

@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter { 
@Override 
public void addCorsMappings(CorsRegistry registry) { 
    registry.addMapping("/**") 
      .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", 
"PATCH"); 
} 
} 

swaggerConfig

@EnableSwagger2 
@Configuration 

public class SwaggerConfig { 
@Bean 
public Docket api() { 
    return new Docket(DocumentationType.SWAGGER_2) 
      .select() 
      .apis(RequestHandlerSelectors.any()) 
      .paths(PathSelectors.any()) 
      .build(); 
} 
} 
내가 감지되지 않습니다 swaggerConfig의 자신감에서 @Configuration을 제거 할 때 .mappers.ModelMapperImpl] "하지만 여기 내 코드입니다

의 pom.xml

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger2</artifactId> 
     <version>2.7.0</version> 
    </dependency> 
+0

에서

@Configuration @ConfigurationProperties(prefix = "mycompany.cors") public class CorsSettings { final private Logger log = LoggerFactory.getLogger(CorsSettings.class); private List<String> origins = new ArrayList<>(); public CorsSettings() { log.debug("construct CorsSettings"); } public List<String> getOrigins() { return this.origins; } @Bean public WebMvcConfigurer corsConfigurer() { if (origins != null) { log.debug("corsOrgins=" + origins); } else { log.error("corsOrgins=null"); } return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**").allowedOrigins(origins.toArray(new String[origins.size()])); } }; } } 

다음 다음

@Configuration public class SwaggerConfig { ApiInfo apiInfo() { return new ApiInfoBuilder().title("My Swagger API").description("This is a my swagger server") .license("").licenseUrl("https://opensource.org/licenses/MIT").termsOfServiceUrl("").version("1.0.0") .contact(new Contact("My name", "://www.mycompany.com", "[email protected]")) .build(); } @Bean public Docket customImplementation() { return new Docket(DocumentationType.SWAGGER_2).select() .apis(RequestHandlerSelectors.basePackage("com.mycompany.path")).build() .apiInfo(apiInfo()); } } 

구성

에 의해 유사한 충돌 로그에 이상이 발생? 웹에서 유사한 충돌이있는 것처럼 보입니다. Bean 클래스를 인트로 스페어 링하지 못한 후에 섹션이 더 많이 발생했습니다. 아마도 의존성 문제 일 것입니다. 누락 된 것 또는 호환되지 않는 것 중 하나입니다. – dskow

답변

0

이 방법을 사용해보십시오. application.yml

mycompany: 
    cors: 
    origins: 
     - ${origin1:http://localhost:8080} 
     - ${origin2:http://localhost:8080} 
     - ${origin3:http://localhost:8080} 
     - ${origin4:http://localhost:8080} 
+0

basePackage의 com.mycompany.path에 올바른 클래스 경로 root를 채워야합니다. – dskow

+0

같은 결과 'modelMapperImpl'이라는 이름의 빈을 생성하는 중 오류 발생 : bean 클래스를 내부 검사하지 못했습니다 [springfox.documentation.swagger2.mappers.ModelMapperImpl] – medAy