Я работаю над проектом Springboot. Сначала мы делаем API, поэтому мы генерируем код из api.yaml. Мы используем openapi 3.0. Интерфейсы генерируются нормально, но когда мы просматриваем наш URL-адрес swagger-ui, он говорит, что в spe c!
не определены операции. Вот подробности:
@Configuration
@RequiredArgsConstructor
@EnableSwagger2
public class SwaggerConfig {
private final BuildProperties buildProperties;
@Bean
public Docket docketConfig() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors
.basePackage("com.xyz.infrastructure.rest.spring.resource"))
.build().apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title(buildProperties.getName())
.version(buildProperties.getVersion())
.build();
}
}
Наша структура это:
com.xyz.infrastructure.rest.spring | | - config | - SwaggerConfig | - spe c // автоматически сгенерировано | - dto // автоматически сгенерировано | - resource // реализации интерфейсов, найденных в spe c
Что нам не хватает?
Мы используем:
<dependency>
<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen</artifactId>
<version>3.0.21</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
Спасибо!