JavaJaxRS.libraries.jersey3.bootstrap.mustache Maven / Gradle / Ivy
package {{apiPackage}};
import java.util.stream.Collectors;
import java.util.stream.Stream;
import io.swagger.v3.jaxrs2.integration.JaxrsOpenApiContextBuilder;
import io.swagger.v3.oas.integration.*;
import io.swagger.v3.oas.models.*;
import io.swagger.v3.oas.models.info.*;
import {{javaxPackage}}.servlet.http.HttpServlet;
import {{javaxPackage}}.servlet.ServletConfig;
import {{javaxPackage}}.servlet.ServletException;
public class Bootstrap extends HttpServlet {
private static final long serialVersionUID = 20230810;
@Override
public void init(ServletConfig config) throws ServletException {
Info info = new Info()
.title("{{title}}")
.description("{{{appDescription}}}")
.termsOfService("{{termsOfService}}")
.contact(new Contact()
.email("{{infoEmail}}"))
.license(new License()
.name("{{licenseInfo}}")
.url("{{licenseUrl}}"));
OpenAPI oas = new OpenAPI();
oas.info(info);
SwaggerConfiguration openApiConfig = new SwaggerConfiguration()
.openAPI(oas)
.prettyPrint(true)
.resourcePackages(Stream.of("io.swagger.sample.resource").collect(Collectors.toSet()));
try {
new JaxrsOpenApiContextBuilder()
.servletConfig(config)
.openApiConfiguration(openApiConfig)
.buildContext(true);
} catch (OpenApiConfigurationException e) {
throw new RuntimeException(e.getMessage(), e);
}
}
}