Bal*_*dam 2 annotations swagger swagger-ui spring-boot openapi
我试图在下面的注释中使版本动态化。
@SpringBootApplication
@OpenAPIDefinition(info = @Info(title = "Test APIs", version = "${project.version}", description = "Testing APIs"))
public class DemoApplication {
}
Run Code Online (Sandbox Code Playgroud)
在这里,我想让版本动态化,这样它将从 pom.xml 文件中获取值。
我需要为此进行任何配置吗?TIA。
小智 5
您可以以编程方式定义 OpenAPIDefinition 并使用 BuildProperties 设置 OpenAPIDefinition.info 数据,如下所示:
@SpringBootApplication
public class ApiApplication {
@Autowired
private BuildProperties buildProperties;
public static void main(String[] args) {
SpringApplication.run(ApiApplication.class, args);
}
@Bean
OpenAPI customOpenAPI() {
return new OpenAPI()
.components(new Components())
.info(new Info()
.title(buildProperties.getArtifact() + " API")
.version(buildProperties.getVersion())
.description(buildProperties.getArtifact() + " - API Swagger documentation")
.license(new License().name("Apache 2.0").url("http://springdoc.org")));
}
}
Run Code Online (Sandbox Code Playgroud)
您需要将“spring-boot-maven-plugin”中的“build-info”目标添加到 pom.xml 文件中,以便在代码中使用 de BuildProperties 组件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>build-info</id>
<goals>
<goal>build-info</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3775 次 |
| 最近记录: |