Hi Dennis, Freeman, all,
Couple of more comments,
On 17/08/17 11:55, Sergey Beryozkin wrote:
Thanks for this update, but this reminds me of the idea of having SwaggerFeature checking swagger.properties on the class path, so that most of the simple well known properties can be set/modified without them being encoded in the code.
I guess the feature would check the properties at the configurable 'swaggerPropertiesLocation', with "/swagger.properties" being the default one, and then use them to set the simple Swagger properties which has not been already set by SwaggerFeature setters ?

The other thing which is worth investigating is having SwaggerFeature checking if swagger.json is already available on the class path (done earlier by java2swagger) and if yes then do not register Swagger ApiListing at all and register instead a simple resource (similar to the UI one) which will serve this swagger.json

Similarly, it would probably check for a /swagger.json resource with the location being configurable, and if avail - then skip all that code which registers ApiListing, etc, though may be it will become a bit too messy, may be we should start with the above task first

Freeman - how do you serve those generated swagger.jsons, is it detected by ApiListing or do you register some custom resource ?

Sergey

I'll have a look a bit later on.

Cheers, Sergey
On 16/08/17 21:29, [email protected] wrote:
Repository: cxf
Updated Branches:
   refs/heads/master 2fbd4e82b -> 1dc79d9d5


improved Swagger description


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

Branch: refs/heads/master
Commit: 1dc79d9d5a04462dea347a6b0a583458c2c28c47
Parents: 2fbd4e8
Author: Dennis Kieselhorst <[email protected]>
Authored: Wed Aug 16 22:29:21 2017 +0200
Committer: Dennis Kieselhorst <[email protected]>
Committed: Wed Aug 16 22:29:21 2017 +0200

----------------------------------------------------------------------
.../java/sample/rs/service/SampleRestApplication.java | 14 ++++++++++++++
  .../application/src/main/resources/application.yml    |  4 ++--
  2 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/1dc79d9d/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/java/sample/rs/service/SampleRestApplication.java
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/java/sample/rs/service/SampleRestApplication.java b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/java/sample/rs/service/SampleRestApplication.java
index 1f3ff56..1413b5a 100644
--- a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/java/sample/rs/service/SampleRestApplication.java +++ b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/java/sample/rs/service/SampleRestApplication.java
@@ -21,6 +21,7 @@ import java.util.Collections;
  import com.codahale.metrics.MetricRegistry;
+import org.apache.cxf.jaxrs.swagger.Swagger2Feature;
  import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.endpoint.MetricReaderPublicMetrics;
  import org.springframework.boot.actuate.endpoint.MetricsEndpoint;
@@ -47,4 +48,17 @@ public class SampleRestApplication {
      public static void main(String[] args) {
          SpringApplication.run(SampleRestApplication.class, args);
      }
+
+    @Bean
+    public Swagger2Feature enhancedSwaggerDescription() {
+        Swagger2Feature swagger2Feature = new Swagger2Feature();
+        swagger2Feature.setPrettyPrint(true);
+ swagger2Feature.setTitle("Spring Boot CXF REST Scan Application");
+        swagger2Feature.setContact("The Apache CXF team");
+ swagger2Feature.setDescription("This sample project demonstrates how to use CXF JAX-RS services" + + " with Spring Boot. This demo has two JAX-RS class resources being auto-discovered"
+                + " and deployed in a single JAX-RS endpoint.");
+        swagger2Feature.setVersion("1.0.0");
+        return swagger2Feature;
+    }
  }

http://git-wip-us.apache.org/repos/asf/cxf/blob/1dc79d9d/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/resources/application.yml
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/resources/application.yml b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/resources/application.yml
index 6ca143d..41e2dd9 100644
--- a/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/resources/application.yml +++ b/distribution/src/main/release/samples/jax_rs/spring_boot_scan/application/src/main/resources/application.yml
@@ -10,7 +10,7 @@ cxf:
      service-list-path: /info
    jaxrs:
      component-scan: true
- classes-scan-packages: org.apache.cxf.jaxrs.swagger,org.apache.cxf.metrics
+    classes-scan-packages: org.apache.cxf.metrics
  eureka:
    client:
@@ -21,7 +21,7 @@ eureka:
      statusPageUrlPath: /services/helloservice/info
      healthCheckUrlPath: /system/health
      metadataMap:
- instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}} + instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
        servletPath: ${cxf.path}
  endpoints:



--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Reply via email to