@Override public OpenAPIConfiguration customize(final OpenAPIConfiguration configuration) { super.customize(configuration); MessageContext ctx = JAXRSUtils.createContextValue( JAXRSUtils.getCurrentMessage(), null, MessageContext.class); String url = StringUtils.substringBeforeLast(ctx.getUriInfo().getRequestUri().getRawPath(), "/"); configuration.getOpenAPI().setServers(Collections.singletonList(new Server().url(url))); return configuration; }
@Bean @ConditionalOnMissingBean public OpenApiCustomizer openApiCustomizer() { final OpenApiCustomizer customizer = new OpenApiCustomizer(); customizer.setDynamicBasePath(true); return customizer; }
public SyncopeOpenApiCustomizer() { super(); URL[] javaDocURLs = JavaDocUtils.getJavaDocURLs(); if (javaDocURLs != null) { this.javadocProvider = new JavaDocProvider(javaDocURLs); super.setJavadocProvider(javadocProvider); } }
@Override protected OpenApiFeature createOpenApiFeature() { final OpenApiCustomizer customizer = new OpenApiCustomizer() { public void customize(io.swagger.v3.oas.models.OpenAPI oas) { super.customize(oas); oas.getInfo().setDescription("Custom Description"); oas.getInfo().getLicense().setName("Custom License"); oas.getComponents().getSecuritySchemes().put("openid", new SecurityScheme()); } }; customizer.setJavadocProvider(new JavaDocProvider()); customizer.setDynamicBasePath(true); customizer.setReplaceTags(true); final OpenApiFeature feature = super.createOpenApiFeature(); feature.setCustomizer(customizer); feature.setScan(false); feature.setResourcePackages(Collections.singleton(getClass().getPackage().getName())); return feature; } }
cris.forEach(cri -> { cri.getMethodDispatcher().getOperationResourceInfos().forEach(ori -> { String normalizedPath = getNormalizedPath( cri.getURITemplate().getValue(), ori.getURITemplate().getValue()); addParameters(parameters); subentry.getValue().setParameters(parameters); } else { addParameters(subentry.getValue().getParameters()); customizeResponses(subentry.getValue(), ori);
@Override protected void customizeResponses(final Operation operation, final OperationResourceInfo ori) { super.customizeResponses(operation, ori);
public OpenAPIConfiguration customize(final OpenAPIConfiguration configuration) { if (configuration == null) { return configuration; } if (dynamicBasePath) { final MessageContext ctx = createMessageContext(); // If the JAX-RS application with custom path is defined, it might be present twice, in the // request URI as well as in each resource operation URI. To properly represent server URL, // the application path should be removed from it. final String url = StringUtils.removeEnd( StringUtils.substringBeforeLast(ctx.getUriInfo().getRequestUri().toString(), "/"), applicationPath); final Collection<Server> servers = configuration.getOpenAPI().getServers(); if (servers == null || servers.stream().noneMatch(s -> s.getUrl().equalsIgnoreCase(url))) { configuration.getOpenAPI().setServers(Collections.singletonList(new Server().url(url))); } } return configuration; }
customizer.setApplicationInfo(factory.getApplicationProvider());
cris.forEach(cri -> { cri.getMethodDispatcher().getOperationResourceInfos().forEach(ori -> { String normalizedPath = getNormalizedPath( cri.getURITemplate().getValue(), ori.getURITemplate().getValue()); addParameters(parameters); subentry.getValue().setParameters(parameters); } else { addParameters(subentry.getValue().getParameters()); customizeResponses(subentry.getValue(), ori);
public OpenAPIConfiguration customize(final OpenAPIConfiguration configuration) { if (configuration == null) { return configuration; } if (dynamicBasePath) { final MessageContext ctx = createMessageContext(); // If the JAX-RS application with custom path is defined, it might be present twice, in the // request URI as well as in each resource operation URI. To properly represent server URL, // the application path should be removed from it. final String url = StringUtils.removeEnd( StringUtils.substringBeforeLast(ctx.getUriInfo().getRequestUri().toString(), "/"), applicationPath); final Collection<Server> servers = configuration.getOpenAPI().getServers(); if (servers == null || servers.stream().noneMatch(s -> s.getUrl().equalsIgnoreCase(url))) { configuration.getOpenAPI().setServers(Collections.singletonList(new Server().url(url))); } } return configuration; }
customizer.setApplicationInfo(factory.getApplicationProvider());
@Override protected OpenApiFeature createOpenApiFeature() { final OpenApiCustomizer customizer = new OpenApiCustomizer(); customizer.setDynamicBasePath(true); final OpenApiFeature feature = super.createOpenApiFeature(); feature.setCustomizer(customizer); feature.setScan(false); feature.setResourcePackages(Collections.singleton(getClass().getPackage().getName())); return feature; } }
protected OpenApiFeature createOpenApiFeature(final String description, final Class<?> resource) { final OpenApiCustomizer customizer = new OpenApiCustomizer(); customizer.setDynamicBasePath(true); final OpenApiFeature feature = new OpenApiFeature(); feature.setDescription(description); feature.setCustomizer(customizer); feature.setScan(false); feature.setUseContextBasedConfig(true); feature.setResourceClasses(Collections.singleton(resource.getName())); return feature; }
public void customize(io.swagger.v3.oas.models.OpenAPI oas) { super.customize(oas); oas.getInfo().setDescription("Custom Description"); oas.getInfo().getLicense().setName("Custom License"); oas.getComponents().getSecuritySchemes().put("openid", new SecurityScheme()); } };