Skip to content

Commit b1dd5c2

Browse files
author
michal
committed
Explicite use DelegatingMethodParameter
1 parent 1c94418 commit b1dd5c2

File tree

4 files changed

+12
-13
lines changed

4 files changed

+12
-13
lines changed

springdoc-openapi-common/src/main/java/org/springdoc/core/AbstractRequestBuilder.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -227,17 +227,16 @@ public Operation build(HandlerMethod handlerMethod, RequestMethod requestMethod,
227227
operation.setOperationId(operationId);
228228
// requests
229229
String[] pNames = this.localSpringDocParameterNameDiscoverer.getParameterNames(handlerMethod.getMethod());
230-
MethodParameter[] parameters = handlerMethod.getMethodParameters();
231230
String[] reflectionParametersNames = Arrays.stream(handlerMethod.getMethod().getParameters()).map(java.lang.reflect.Parameter::getName).toArray(String[]::new);
232231
if (pNames == null || Arrays.stream(pNames).anyMatch(Objects::isNull))
233232
pNames = reflectionParametersNames;
234-
parameters = DelegatingMethodParameter.customize(pNames, parameters, parameterBuilder.getDelegatingMethodParameterCustomizer());
233+
DelegatingMethodParameter[] parameters = DelegatingMethodParameter.customize(pNames, handlerMethod.getMethodParameters(), parameterBuilder.getDelegatingMethodParameterCustomizer());
235234
RequestBodyInfo requestBodyInfo = new RequestBodyInfo();
236235
List<Parameter> operationParameters = (operation.getParameters() != null) ? operation.getParameters() : new ArrayList<>();
237236
Map<String, io.swagger.v3.oas.annotations.Parameter> parametersDocMap = getApiParameters(handlerMethod.getMethod());
238237
Components components = openAPI.getComponents();
239238

240-
for (MethodParameter methodParameter : parameters) {
239+
for (DelegatingMethodParameter methodParameter : parameters) {
241240
// check if query param
242241
Parameter parameter = null;
243242
io.swagger.v3.oas.annotations.Parameter parameterDoc = AnnotatedElementUtils.findMergedAnnotation(

springdoc-openapi-common/src/main/java/org/springdoc/core/DelegatingMethodParameter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ public class DelegatingMethodParameter extends MethodParameter {
9292
* @param optionalDelegatingMethodParameterCustomizer the optional delegating method parameter customizer
9393
* @return the method parameter [ ]
9494
*/
95-
public static MethodParameter[] customize(String[] pNames, MethodParameter[] parameters, Optional<DelegatingMethodParameterCustomizer> optionalDelegatingMethodParameterCustomizer) {
96-
List<MethodParameter> explodedParameters = new ArrayList<>();
95+
public static DelegatingMethodParameter[] customize(String[] pNames, MethodParameter[] parameters, Optional<DelegatingMethodParameterCustomizer> optionalDelegatingMethodParameterCustomizer) {
96+
List<DelegatingMethodParameter> explodedParameters = new ArrayList<>();
9797
for (int i = 0; i < parameters.length; ++i) {
9898
MethodParameter p = parameters[i];
9999
Class<?> paramClass = AdditionalModelsConverter.getReplacement(p.getParameterType());
@@ -108,7 +108,7 @@ public static MethodParameter[] customize(String[] pNames, MethodParameter[] par
108108
explodedParameters.add(new DelegatingMethodParameter(p, name, null, false));
109109
}
110110
}
111-
return explodedParameters.toArray(new MethodParameter[0]);
111+
return explodedParameters.toArray(new DelegatingMethodParameter[0]);
112112
}
113113

114114
@Override

springdoc-openapi-common/src/main/java/org/springdoc/core/MethodParameterPojoExtractor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ private MethodParameterPojoExtractor() {
9494
* @param clazz the clazz
9595
* @return the stream
9696
*/
97-
static Stream<MethodParameter> extractFrom(Class<?> clazz) {
97+
static Stream<DelegatingMethodParameter> extractFrom(Class<?> clazz) {
9898
return extractFrom(clazz, "");
9999
}
100100

@@ -105,7 +105,7 @@ static Stream<MethodParameter> extractFrom(Class<?> clazz) {
105105
* @param fieldNamePrefix the field name prefix
106106
* @return the stream
107107
*/
108-
private static Stream<MethodParameter> extractFrom(Class<?> clazz, String fieldNamePrefix) {
108+
private static Stream<DelegatingMethodParameter> extractFrom(Class<?> clazz, String fieldNamePrefix) {
109109
return allFieldsOf(clazz).stream()
110110
.flatMap(f -> fromGetterOfField(clazz, f, fieldNamePrefix))
111111
.filter(Objects::nonNull);
@@ -119,7 +119,7 @@ private static Stream<MethodParameter> extractFrom(Class<?> clazz, String fieldN
119119
* @param fieldNamePrefix the field name prefix
120120
* @return the stream
121121
*/
122-
private static Stream<MethodParameter> fromGetterOfField(Class<?> paramClass, Field field, String fieldNamePrefix) {
122+
private static Stream<DelegatingMethodParameter> fromGetterOfField(Class<?> paramClass, Field field, String fieldNamePrefix) {
123123
if (isSimpleType(field.getType()))
124124
return fromSimpleClass(paramClass, field, fieldNamePrefix);
125125
else
@@ -134,7 +134,7 @@ private static Stream<MethodParameter> fromGetterOfField(Class<?> paramClass, Fi
134134
* @param fieldNamePrefix the field name prefix
135135
* @return the stream
136136
*/
137-
private static Stream<MethodParameter> fromSimpleClass(Class<?> paramClass, Field field, String fieldNamePrefix) {
137+
private static Stream<DelegatingMethodParameter> fromSimpleClass(Class<?> paramClass, Field field, String fieldNamePrefix) {
138138
Annotation[] fieldAnnotations = field.getDeclaredAnnotations();
139139
try {
140140
Nullable nullableField = NULLABLE_ANNOTATION;

springdoc-openapi-data-rest/src/main/java/org/springdoc/data/rest/core/DataRestRequestBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,10 @@ public void buildParameters(Class<?> domainType, OpenAPI openAPI, HandlerMethod
133133
* @param methodAttributes the method attributes
134134
* @param operation the operation
135135
* @param pNames the p names
136-
* @param parameters the parameters
136+
* @param methodParameters the parameters
137137
*/
138-
public void buildCommonParameters(Class<?> domainType, OpenAPI openAPI, RequestMethod requestMethod, MethodAttributes methodAttributes, Operation operation, String[] pNames, MethodParameter[] parameters) {
139-
parameters = DelegatingMethodParameter.customize(pNames, parameters, parameterBuilder.getDelegatingMethodParameterCustomizer());
138+
public void buildCommonParameters(Class<?> domainType, OpenAPI openAPI, RequestMethod requestMethod, MethodAttributes methodAttributes, Operation operation, String[] pNames, MethodParameter[] methodParameters) {
139+
DelegatingMethodParameter[] parameters = DelegatingMethodParameter.customize(pNames, methodParameters, parameterBuilder.getDelegatingMethodParameterCustomizer());
140140
for (MethodParameter methodParameter : parameters) {
141141
final String pName = methodParameter.getParameterName();
142142
ParameterInfo parameterInfo = new ParameterInfo(pName, methodParameter);

0 commit comments

Comments
 (0)