You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2016/07/26 00:41:31 UTC

[26/42] cxf git commit: [CXF-6960] Updates to the Swagger link at the services page

[CXF-6960] Updates to the Swagger link at the services page


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/6cfb7271
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/6cfb7271
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/6cfb7271

Branch: refs/heads/master-jaxrs-2.1
Commit: 6cfb72710d74262f53354b43adcdffc13423e54c
Parents: 9fb6e04
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Mon Jul 25 12:04:10 2016 +0300
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Mon Jul 25 12:04:10 2016 +0300

----------------------------------------------------------------------
 .../src/main/release/samples/jax_rs/spring_boot/README    |  5 +++++
 .../samples/jax_rs/spring_boot_scan/application/README    |  5 +++++
 .../servlet/servicelist/FormattedServiceListWriter.java   | 10 +++++++++-
 3 files changed, 19 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/6cfb7271/distribution/src/main/release/samples/jax_rs/spring_boot/README
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/spring_boot/README b/distribution/src/main/release/samples/jax_rs/spring_boot/README
index 21c6e5b..7fdc9c1 100644
--- a/distribution/src/main/release/samples/jax_rs/spring_boot/README
+++ b/distribution/src/main/release/samples/jax_rs/spring_boot/README
@@ -25,6 +25,11 @@ open the Swagger-UI page at
 
   http://localhost:8080/services/helloservice/api-docs?url=/services/helloservice/swagger.json
 
+or access it from the CXF Services page:
+
+  http://localhost:8080/services/helloservice/services
+  and follow a Swagger link.
+
 To run the client from a command line open a new terminal window and run:
 
 ----

http://git-wip-us.apache.org/repos/asf/cxf/blob/6cfb7271/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/README
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/README b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/README
index a054dc8..baeb48c 100644
--- a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/README
+++ b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/README
@@ -38,5 +38,10 @@ open the Swagger-UI page at
 
   http://localhost:8080/services/helloservice/api-docs?url=/services/helloservice/swagger.json
 
+or access it from the CXF Services page:
+
+  http://localhost:8080/services/helloservice/services
+  and follow a Swagger link.
+
 Check client/README on how to run a command line client.
 

http://git-wip-us.apache.org/repos/asf/cxf/blob/6cfb7271/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/FormattedServiceListWriter.java
----------------------------------------------------------------------
diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/FormattedServiceListWriter.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/FormattedServiceListWriter.java
index 7bb75ae..0c25519 100644
--- a/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/FormattedServiceListWriter.java
+++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/servicelist/FormattedServiceListWriter.java
@@ -20,6 +20,7 @@ package org.apache.cxf.transport.servlet.servicelist;
 
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.net.URI;
 import java.util.Map;
 
 import org.apache.cxf.Bus;
@@ -175,7 +176,14 @@ public class FormattedServiceListWriter implements ServiceListWriter {
         if (bus != null && PropertyUtils.isTrue(bus.getProperty("swagger.service.description.available"))) {
             String swaggerPath = "swagger.json";
             if (PropertyUtils.isTrue(bus.getProperty("swagger.service.ui.available"))) {
-                swaggerPath = "api-docs?url=/" + swaggerPath;
+                URI uri = URI.create(absoluteURL);
+                String schemePath = uri.getScheme() + "://" + uri.getHost() 
+                    + (uri.getPort() == -1 ? "" : ":" + uri.getPort());
+                String relPath = absoluteURL.substring(schemePath.length());
+                if (!relPath.endsWith("/")) {
+                    relPath += "/";
+                }
+                swaggerPath = "api-docs?url=" + relPath + swaggerPath;
             }
             if (!absoluteURL.endsWith("/")) {
                 swaggerPath = "/" + swaggerPath;