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.