背景如何導入揚鞭配置
我遇到了一些揚鞭配置的問題,所以我想通過複製一些簡單的例子的CONFIGS解決這些問題。
我閱讀本教程: http://www.baeldung.com/swagger-2-documentation-for-spring-rest-api
而且他們有這樣的:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
設置
我曾經有過這個bean案在我public class Application
但他們似乎有在它自己的類中的配置。我想匹配它們的設置,所以我在與Application.java相同的位置創建了一個SwaggerConfiguration.java文件。
然後我做了SwaggerConfiguration.java包含以下代碼:
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
@Bean
public Docket Api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.pathMapping("/")
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Service API")
.build();
}
}
我Application.Java包含此代碼:
@SpringBootApplication
@EnableTransactionManagement
@EnableSwagger2
@ComponentScan({"myproject.request"})
public class Application {
public static void main(String[] args) {
new SpringApplication(Application.class).run(args);
}
}
問題:如何配合這個SwaggerConfiguration.java進入我的項目? (導入)
他們這樣做是在這裏,我相信:「進口豆在現有的休息 - 調度 - servlet.xml中的組件掃描標籤添加軟件包的名稱(如果缺少)」 - http://www.baeldung.com/swagger-2-documentation-for-spring-rest-api
但是,我沒有那個serverlet,也沒有任何xml文件,除了maven的pom.xml。
問題轉述
我SwaggerConfig.java只是坐在我的項目,但不使用或進口被任何東西。例如apiInfo
未在Swagger UI上設置任何內容。我如何使用它。
更新1
有一個建議,即刪除@ComponentScan({"myproject.request"})
但是當我做了我的構建失敗,這是印:
Description:
Field actionRepository in myproject.service.ActionServiceImpl required a bean of type 'myproject.repository.ActionRepository' that could not be found.
Action:
Consider defining a bean of type 'myproject.repository.ActionRepository' in your configuration.
更新2
我已經改變SwaggerConfiguration SwaggerConfig
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/*
@Bean
public Docket Api() {
return new Docket(DocumentationType.SWAGGER_2).select()
.apis(RequestHandlerSelectors.basePackage("myproject.controller")).paths(regex("/api/*"))
.build().apiInfo(apiInfo());
}
*/
@Bean
public Docket Api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("ibm.controller"))
.paths(regex("/api/*"))
.build()
.pathMapping("/")
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Service API")
.description("API for Service REST operations")
}
}
但我也有同樣的問題
UPDATE 3個背景
這個問題在一定程度上依賴於這個問題Swagger no longer finds API controllers
取出後再次嘗試'@ComponentScan({ 「myproject.request」})'中的應用。註釋'@ SpringBootApplication'應該處理所有這些。 –
@LucianovanderVeekens看到我的更新1 – Rorschach