public void onStartup(Set<Class<?>> classes, ServletContext servletContext) throws ServletException { if (classes != null && classes.size() != 0) { Set<Class<?>> resources = new LinkedHashSet(); classes.stream() .filter(c -> ignored.stream().noneMatch(i -> c.getName().startsWith(i))) .forEach(resources::add); if (!resources.isEmpty()) { // init context try { SwaggerConfiguration oasConfig = new SwaggerConfiguration() .resourceClasses(resources.stream().map(c -> c.getName()).collect(Collectors.toSet())); new JaxrsOpenApiContextBuilder() .openApiConfiguration(oasConfig) .buildContext(true); } catch (OpenApiConfigurationException e) { throw new RuntimeException(e.getMessage(), e); } } } }
.readerClass(readerClass) .scannerClass(scannerClass) .resourceClasses(resourceClassesSet) .resourcePackages(resourcePackagesSet) .objectMapperProcessorClass(objectMapperProcessorClass)
.readerClass(readerClass) .scannerClass(scannerClass) .resourceClasses(resourceClasses) .openAPI(openAPIInput) .resourcePackages(resourcePackages)
openApiConfiguration = new SwaggerConfiguration().resourcePackages(resourcePackages).resourceClasses(resourceClasses); ((SwaggerConfiguration) openApiConfiguration).setId(id);
.resourcePackages(resolveResourcePackages(servletConfig)) .filterClass(getInitParam(servletConfig, OPENAPI_CONFIGURATION_FILTER_KEY)) .resourceClasses(resolveResourceClasses(servletConfig)) .readAllResources(getBooleanInitParam(servletConfig, OPENAPI_CONFIGURATION_READALLRESOURCES_KEY)) .prettyPrint(getBooleanInitParam(servletConfig, OPENAPI_CONFIGURATION_PRETTYPRINT_KEY))
.readerClass(readerClass) .scannerClass(scannerClass) .resourceClasses(resourceClassesSet) .resourcePackages(resourcePackagesSet) .objectMapperProcessorClass(objectMapperProcessorClass)
@SuppressWarnings("rawtypes") protected void generateSpec() throws Exception { Set<Class<?>> classes = this.registeredControllers; OpenAPIExtensions.setExtensions(Collections.singletonList(new ServerParameterExtension())); OpenAPI openApi = new OpenAPI(); Info info = mapper.convertValue(openAPIConfig.getValue("info").unwrapped(), Info.class); openApi.setInfo(info); Map<String, SecurityScheme> securitySchemes = mapper.convertValue( openAPIConfig.getValue("securitySchemes").unwrapped(),new TypeReference<Map<String, SecurityScheme>>(){}); if (openApi.getComponents() == null) { openApi.setComponents(new Components()); } openApi.getComponents().setSecuritySchemes(securitySchemes); List<Server> servers = mapper.convertValue(openAPIConfig.getValue("servers").unwrapped(), new TypeReference<List<Server>>(){}); openApi.setServers(servers); SwaggerConfiguration config = new SwaggerConfiguration().resourceClasses(classes.stream().map(Class::getName).collect(Collectors.toSet())).openAPI(openApi); config.setModelConverterClassess(Collections.singleton(ServerModelResolver.class.getName())); OpenApiContext ctx = new GenericOpenApiContext().openApiConfiguration(config) .openApiReader(new Reader(config)) .openApiScanner(new JaxrsApplicationAndAnnotationScanner().openApiConfiguration(config)) .init(); openApi = ctx.read(); this.openApi = openApi; this.spec = writer.writeValueAsString(openApi); }
openApiConfiguration = new SwaggerConfiguration().resourcePackages(resourcePackages).resourceClasses(resourceClasses); ((SwaggerConfiguration) openApiConfiguration).setId(id);
.resourcePackages(resolveResourcePackages(servletConfig)) .filterClass(getInitParam(servletConfig, OPENAPI_CONFIGURATION_FILTER_KEY)) .resourceClasses(resolveResourceClasses(servletConfig)) .readAllResources(getBooleanInitParam(servletConfig, OPENAPI_CONFIGURATION_READALLRESOURCES_KEY)) .prettyPrint(getBooleanInitParam(servletConfig, OPENAPI_CONFIGURATION_PRETTYPRINT_KEY))
.ignoredRoutes(getIgnoredRoutes()) .filterClass(getOrFallback(getFilterClass(), swaggerProps, FILTER_CLASS_PROPERTY)) .resourceClasses(getResourceClasses()) .resourcePackages(getOrFallback(packages, swaggerProps, RESOURCE_PACKAGE_PROPERTY));
.ignoredRoutes(getIgnoredRoutes()) .filterClass(getOrFallback(getFilterClass(), swaggerProps, FILTER_CLASS_PROPERTY)) .resourceClasses(getResourceClasses()) .resourcePackages(getOrFallback(packages, swaggerProps, RESOURCE_PACKAGE_PROPERTY));