You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/10/11 11:18:18 UTC
[incubator-servicecomb-java-chassis] 01/04: [SCB-956] bug fix: not
support body to be a enum
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git
commit 36d7dca071f3b3024c536f685af4c3f79da56917
Author: wujimin <wu...@huawei.com>
AuthorDate: Thu Oct 11 01:16:23 2018 +0800
[SCB-956] bug fix: not support body to be a enum
---
.../apache/servicecomb/swagger/generator/core/SwaggerGenerator.java | 4 ++--
.../apache/servicecomb/swagger/generator/core/utils/ParamUtils.java | 5 +++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/SwaggerGenerator.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/SwaggerGenerator.java
index 96f0508..919711e 100644
--- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/SwaggerGenerator.java
+++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/SwaggerGenerator.java
@@ -22,7 +22,7 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Arrays;
import java.util.Comparator;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Locale;
@@ -75,7 +75,7 @@ public class SwaggerGenerator {
*/
protected Set<String> defaultTags = new LinkedHashSet<>();
- private Map<String, OperationGenerator> operationGeneratorMap = new HashMap<>();
+ private Map<String, OperationGenerator> operationGeneratorMap = new LinkedHashMap<>();
private String httpMethod;
diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ParamUtils.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ParamUtils.java
index 3046103..6f9354b 100644
--- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ParamUtils.java
+++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ParamUtils.java
@@ -30,6 +30,7 @@ import org.springframework.core.MethodParameter;
import io.swagger.converter.ModelConverters;
import io.swagger.models.Model;
+import io.swagger.models.ModelImpl;
import io.swagger.models.Swagger;
import io.swagger.models.parameters.AbstractSerializableParameter;
import io.swagger.models.parameters.BodyParameter;
@@ -40,6 +41,7 @@ import io.swagger.models.properties.ObjectProperty;
import io.swagger.models.properties.Property;
import io.swagger.models.properties.PropertyBuilder;
import io.swagger.models.properties.RefProperty;
+import io.swagger.models.properties.StringProperty;
public final class ParamUtils {
private static DefaultParameterNameDiscoverer parameterNameDiscoverer = new DefaultParameterNameDiscoverer();
@@ -99,6 +101,9 @@ public final class ParamUtils {
Property property = ModelConverters.getInstance().readAsProperty(paramType);
Model model = PropertyBuilder.toModel(property);
+ if (model instanceof ModelImpl && property instanceof StringProperty) {
+ ((ModelImpl) model).setEnum(((StringProperty) property).getEnum());
+ }
BodyParameter bodyParameter = new BodyParameter();
bodyParameter.setName(paramName);