package stirling.software.SPDF.config; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; @Configuration public class OpenApiConfig { @Bean public OpenAPI customOpenAPI() { String version = getClass().getPackage().getImplementationVersion(); if (version == null) { Properties props = new Properties(); try (InputStream input = getClass().getClassLoader().getResourceAsStream("version.properties")) { props.load(input); version = props.getProperty("version"); } catch (IOException ex) { ex.printStackTrace(); version = "1.0.0"; // default version if all else fails } } return new OpenAPI().components(new Components()).info( new Info().title("Stirling PDF API").version(version).description("API documentation for all Server-Side processing.\nPlease note some functionality might be UI only and missing from here.")); } }