Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public static MethodParameter[] customize(String[] pNames, MethodParameter[] par
MethodParameter p = parameters[i];
if (p.hasParameterAnnotation(ParameterObject.class)) {
Class<?> paramClass = AdditionalModelsConverter.getReplacement(p.getParameterType());
Stream.of(paramClass.getDeclaredFields())
allFieldsOf(paramClass).stream()
.map(f -> fromGetterOfField(paramClass, f))
.filter(Objects::nonNull)
.forEach(explodedParameters::add);
Expand Down Expand Up @@ -186,4 +186,13 @@ private class NullableFieldClass {
@Nullable
private String nullableField;
}

private static List<Field> allFieldsOf(Class<?> clazz) {
List<Field> fields = new ArrayList<>();
do {
fields.addAll(Arrays.asList(clazz.getDeclaredFields()));
clazz = clazz.getSuperclass();
} while (clazz != null);
return fields;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package test.org.springdoc.api.app102;

import io.swagger.v3.oas.annotations.Parameter;

public class InheritedRequestParams extends RequestParams {
@Parameter(description = "parameter from child of RequestParams")
private String childParam;

public String getChildParam() {
return childParam;
}

public void setChildParam(String childParam) {
this.childParam = childParam;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
@RestController
public class TestController {
@GetMapping("test")
public void getTest(@RequestParam @Nullable String param, @ParameterObject RequestParams requestParams) {
public void getTest(@RequestParam @Nullable String param, @ParameterObject InheritedRequestParams requestParams) {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@
"type": "string"
}
},
{
"name": "childParam",
"in": "query",
"description": "parameter from child of RequestParams",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "stringParam",
"in": "query",
Expand Down