Skip to content

Commit 9740b64

Browse files
committed
added logic for return value for #845
1 parent 2273f4b commit 9740b64

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

modules/swagger-jaxrs/src/main/java/com/wordnik/swagger/jaxrs/ParameterProcessor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import java.util.*;
1515

1616
public class ParameterProcessor {
17-
public static void applyAnnotations(Swagger swagger, Parameter parameter, Class<?> cls, Annotation[] annotations, boolean isArray) {
17+
public static Parameter applyAnnotations(Swagger swagger, Parameter parameter, Class<?> cls, Annotation[] annotations, boolean isArray) {
1818
String defaultValue = null;
1919
boolean shouldIgnore = false;
2020
boolean allowMultiple;
@@ -68,7 +68,6 @@ else if(parameter instanceof CookieParameter) {
6868
p.setDefaultValue(defaultValue);
6969
}
7070
}
71-
7271
allowableValues = param.allowableValues();
7372
}
7473
else if(shouldIgnore == false) {
@@ -140,5 +139,6 @@ else if(shouldIgnore == false) {
140139
}
141140
}
142141
}
142+
return parameter;
143143
}
144144
}

modules/swagger-jaxrs/src/main/java/com/wordnik/swagger/jaxrs/Reader.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
import com.fasterxml.jackson.databind.SerializationFeature;
1616
import com.fasterxml.jackson.annotation.JsonInclude.Include;
1717

18+
import org.slf4j.Logger;
19+
import org.slf4j.LoggerFactory;
20+
1821
import javax.ws.rs.QueryParam;
1922
import javax.ws.rs.PathParam;
2023
import javax.ws.rs.HeaderParam;
@@ -31,6 +34,8 @@
3134
import java.util.*;
3235

3336
public class Reader {
37+
Logger LOGGER = LoggerFactory.getLogger(Reader.class);
38+
3439
List<SwaggerExtension> EXTENSIONS = SwaggerExtensions.getExtensions();
3540
Swagger swagger;
3641
static ObjectMapper m = Json.mapper();
@@ -348,8 +353,17 @@ List<Parameter> getParameters(Class<?> cls, Type type, Annotation[] annotations)
348353
parameters = extension.extractParameters(annotations, cls, isArray, chain);
349354
}
350355

351-
for(Parameter parameter : parameters) {
352-
ParameterProcessor.applyAnnotations(swagger, parameter, cls, annotations, isArray);
356+
if(parameters.size() > 0) {
357+
for(Parameter parameter : parameters) {
358+
ParameterProcessor.applyAnnotations(swagger, parameter, cls, annotations, isArray);
359+
}
360+
}
361+
else {
362+
LOGGER.debug("no parameter found, looking at body params");
363+
Parameter param = ParameterProcessor.applyAnnotations(swagger, null, cls, annotations, isArray);
364+
if(param != null) {
365+
parameters.add(param);
366+
}
353367
}
354368

355369
return parameters;

0 commit comments

Comments
 (0)