You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2018/02/11 12:37:15 UTC

[camel] branch camel-2.20.x updated: CAMEL-12255: camel-swagger-java should include body parameter type in generated api-doc.

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-2.20.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-2.20.x by this push:
     new a11d03f  CAMEL-12255: camel-swagger-java should include body parameter type in generated api-doc.
a11d03f is described below

commit a11d03f88dc4c073697df74a7008697bd2121bc2
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Feb 11 07:34:02 2018 -0500

    CAMEL-12255: camel-swagger-java should include body parameter type in generated api-doc.
---
 .../apache/camel/swagger/RestSwaggerReader.java    | 22 +++++++++++++++-------
 .../camel/swagger/RestSwaggerReaderTest.java       |  2 +-
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
index f5f11cb..b1afd55 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
@@ -305,20 +305,28 @@ public class RestSwaggerReader {
                     if (parameter instanceof BodyParameter) {
                         BodyParameter bp = (BodyParameter) parameter;
 
-                        if (verb.getType() != null) {
-                            if (verb.getType().endsWith("[]")) {
-                                String typeName = verb.getType();
-                                typeName = typeName.substring(0, typeName.length() - 2);
-                                Property prop = modelTypeAsProperty(typeName, swagger);
+                        String type = param.getDataType() != null ? param.getDataType() : verb.getType();
+                        if (type != null) {
+                            if (type.endsWith("[]")) {
+                                type = type.substring(0, type.length() - 2);
+                                Property prop = modelTypeAsProperty(type, swagger);
                                 if (prop != null) {
                                     ArrayModel arrayModel = new ArrayModel();
                                     arrayModel.setItems(prop);
                                     bp.setSchema(arrayModel);
                                 }
                             } else {
-                                String ref = modelTypeAsRef(verb.getType(), swagger);
+                                String ref = modelTypeAsRef(type, swagger);
                                 if (ref != null) {
                                     bp.setSchema(new RefModel(ref));
+                                } else {
+                                    Property prop = modelTypeAsProperty(type, swagger);
+                                    if (prop != null) {
+                                        ModelImpl model = new ModelImpl();
+                                        model.setFormat(prop.getFormat());
+                                        model.setType(prop.getType());
+                                        bp.setSchema(model);
+                                    }
                                 }
                             }
                         }
@@ -545,7 +553,7 @@ public class RestSwaggerReader {
             if (array && ("byte".equals(typeName) || "java.lang.Byte".equals(typeName))) {
                 prop = new ByteArrayProperty();
                 array = false;
-            } else if ("java.lang.String".equals(typeName)) {
+            } else if ("string".equalsIgnoreCase(typeName) || "java.lang.String".equals(typeName)) {
                 prop = new StringProperty();
             } else if ("int".equals(typeName) || "java.lang.Integer".equals(typeName)) {
                 prop = new IntegerProperty();
diff --git a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
index 31dc0b3..3d70675 100644
--- a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
+++ b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
@@ -74,7 +74,6 @@ public class RestSwaggerReaderTest extends CamelTestSupport {
         String json = mapper.writeValueAsString(swagger);
 
         log.info(json);
-        System.out.println(json);
 
         assertTrue(json.contains("\"host\" : \"localhost:8080\""));
         assertTrue(json.contains("\"basePath\" : \"/api\""));
@@ -84,6 +83,7 @@ public class RestSwaggerReaderTest extends CamelTestSupport {
         assertTrue(json.contains("\"/hello/hi/{name}\""));
         assertTrue(json.contains("\"type\" : \"number\""));
         assertTrue(json.contains("\"format\" : \"float\""));
+        assertTrue(json.contains("\"type\" : \"string\""));
 
         context.stop();
     }

-- 
To stop receiving notification emails like this one, please contact
davsclaus@apache.org.