This is an automated email from the ASF dual-hosted git repository. reta pushed a commit to branch 3.4.x-fixes in repository https://gitbox.apache.org/repos/asf/cxf.git
commit 8c71f7330761d4b49a45b2d8c07e4a772ea6c7f8 Author: Andriy Redko <[email protected]> AuthorDate: Tue May 31 21:23:29 2022 -0400 CXF-8683: Support SwaggerUI 4.10.3+ (#952) (cherry picked from commit df05725910b7e6b113faf214d787abd84c645bc7) (cherry picked from commit bc5d02a1823de215646508b22976358b1905adab) # Conflicts: # distribution/src/main/release/samples/pom.xml # parent/pom.xml --- distribution/src/main/release/samples/pom.xml | 2 +- parent/pom.xml | 2 +- .../java/org/apache/cxf/jaxrs/swagger/ui/SwaggerUiService.java | 8 +++++--- .../jaxrs/description/SwaggerUiConfigurationQueryConfigTest.java | 1 - .../cxf/systest/jaxrs/description/SwaggerUiConfigurationTest.java | 2 -- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/distribution/src/main/release/samples/pom.xml b/distribution/src/main/release/samples/pom.xml index 6a5809156c..908d14734d 100644 --- a/distribution/src/main/release/samples/pom.xml +++ b/distribution/src/main/release/samples/pom.xml @@ -35,7 +35,7 @@ <cxf.jetty9.version>9.4.46.v20220331</cxf.jetty9.version> <cxf.netty.version>4.1.77.Final</cxf.netty.version> <cxf.httpcomponents.client.version>4.5.13</cxf.httpcomponents.client.version> - <cxf.swagger.ui.version>4.8.1</cxf.swagger.ui.version> + <cxf.swagger.ui.version>4.11.1</cxf.swagger.ui.version> <cxf.tika.version>1.28.3</cxf.tika.version> <cxf.tomcat.version>9.0.63</cxf.tomcat.version> <graalvm.version>21.1.0</graalvm.version> diff --git a/parent/pom.xml b/parent/pom.xml index 9cdab6004b..90720e7660 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -210,7 +210,7 @@ <cxf.spring.security.version>5.3.13.RELEASE</cxf.spring.security.version> <cxf.spring.version>5.2.22.RELEASE</cxf.spring.version> <cxf.stax-ex.version>1.8.3</cxf.stax-ex.version> - <cxf.swagger.ui.version>4.8.1</cxf.swagger.ui.version> + <cxf.swagger.ui.version>4.11.1</cxf.swagger.ui.version> <cxf.swagger.v3.version>2.1.6</cxf.swagger.v3.version> <cxf.swagger2.version>1.6.6</cxf.swagger2.version> <cxf.swagger2.guava.version>31.0.1-jre</cxf.swagger2.guava.version> diff --git a/rt/rs/description-swagger-ui/src/main/java/org/apache/cxf/jaxrs/swagger/ui/SwaggerUiService.java b/rt/rs/description-swagger-ui/src/main/java/org/apache/cxf/jaxrs/swagger/ui/SwaggerUiService.java index bfccf12e4d..df4d1e4053 100644 --- a/rt/rs/description-swagger-ui/src/main/java/org/apache/cxf/jaxrs/swagger/ui/SwaggerUiService.java +++ b/rt/rs/description-swagger-ui/src/main/java/org/apache/cxf/jaxrs/swagger/ui/SwaggerUiService.java @@ -108,8 +108,8 @@ public class SwaggerUiService { // http://localhost:8080/services/helloservice/api-docs?url=/services/helloservice/openapi.json // // in case the "url" configuration parameter is provided for Swagger UI. - if (config != null && path.endsWith("/index.html")) { - if (uriInfo.getQueryParameters().isEmpty()) { + if (config != null) { + if (path.endsWith("/index.html") && uriInfo.getQueryParameters().isEmpty()) { final Map<String, String> params = config.getConfigParameters(); if (params != null && !params.isEmpty()) { @@ -127,7 +127,9 @@ public class SwaggerUiService { // Since Swagger UI 4.1.3, passing the default URL as query parameter, // e.g. `?url=swagger.json` is disabled by default due to security concerns. - if (config.isQueryConfigEnabled() == null || !config.isQueryConfigEnabled()) { + final boolean hasUrlPlaceholder = path.endsWith("/index.html") + || path.endsWith("/swagger-initializer.js"); + if (hasUrlPlaceholder && config.isQueryConfigEnabled() == null || !config.isQueryConfigEnabled()) { final String url = config.getUrl(); if (!StringUtils.isEmpty(url)) { try (InputStream in = resourceURL.openStream()) { diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/description/SwaggerUiConfigurationQueryConfigTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/description/SwaggerUiConfigurationQueryConfigTest.java index 57039d2363..ddb8175d68 100644 --- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/description/SwaggerUiConfigurationQueryConfigTest.java +++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/description/SwaggerUiConfigurationQueryConfigTest.java @@ -94,7 +94,6 @@ public class SwaggerUiConfigurationQueryConfigTest extends AbstractBusClientServ try (Response response = uiClient.get()) { String html = response.readEntity(String.class); assertThat(html, containsString("<!-- HTML")); - assertThat(html, containsString("url: \"https://petstore.swagger.io/v2/swagger.json\",")); assertThat(response.getMediaType(), equalTo(MediaType.TEXT_HTML_TYPE)); } } diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/description/SwaggerUiConfigurationTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/description/SwaggerUiConfigurationTest.java index 9e978ac1e9..f8f1131672 100644 --- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/description/SwaggerUiConfigurationTest.java +++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/description/SwaggerUiConfigurationTest.java @@ -112,7 +112,6 @@ public class SwaggerUiConfigurationTest extends AbstractBusClientServerTestBase try (Response response = uiClient.get()) { String html = response.readEntity(String.class); assertThat(html, containsString("<!-- HTML")); - assertThat(html, containsString("url: \"/swagger.json\",")); assertThat(response.getMediaType(), equalTo(MediaType.TEXT_HTML_TYPE)); } } @@ -129,7 +128,6 @@ public class SwaggerUiConfigurationTest extends AbstractBusClientServerTestBase try (Response response = uiClient.get()) { String html = response.readEntity(String.class); assertThat(html, containsString("<!-- HTML")); - assertThat(html, containsString("url: \"/swagger.json\",")); assertThat(response.getMediaType(), equalTo(MediaType.TEXT_HTML_TYPE)); } }
