22
22
23
23
package org .springdoc .core ;
24
24
25
+ import io .swagger .v3 .oas .annotations .Parameter ;
25
26
import io .swagger .v3 .oas .annotations .enums .ParameterIn ;
26
27
import org .apache .commons .lang3 .StringUtils ;
27
28
import org .slf4j .Logger ;
@@ -76,6 +77,11 @@ public class ParameterInfo {
76
77
*/
77
78
private boolean requestPart ;
78
79
80
+ /**
81
+ * The Parameter id.
82
+ */
83
+ private ParameterId parameterId ;
84
+
79
85
/**
80
86
* The constant LOGGER.
81
87
*/
@@ -86,8 +92,9 @@ public class ParameterInfo {
86
92
* @param pName the parameter name
87
93
* @param methodParameter the method parameter
88
94
* @param genericParameterService the parameter builder
95
+ * @param parameterAnnotation the parameter annotation
89
96
*/
90
- public ParameterInfo (String pName , MethodParameter methodParameter , GenericParameterService genericParameterService ) {
97
+ public ParameterInfo (String pName , MethodParameter methodParameter , GenericParameterService genericParameterService , Parameter parameterAnnotation ) {
91
98
RequestHeader requestHeader = methodParameter .getParameterAnnotation (RequestHeader .class );
92
99
RequestParam requestParam = methodParameter .getParameterAnnotation (RequestParam .class );
93
100
PathVariable pathVar = methodParameter .getParameterAnnotation (PathVariable .class );
@@ -123,6 +130,15 @@ else if (cookieValue != null)
123
130
}
124
131
125
132
this .required = this .required && !methodParameter .isOptional ();
133
+ if (parameterAnnotation != null ){
134
+ this .parameterId = new ParameterId (parameterAnnotation );
135
+ if (StringUtils .isBlank (parameterId .getpName ()))
136
+ this .parameterId .setpName (this .pName );
137
+ if (StringUtils .isBlank (parameterId .getParamType ()))
138
+ this .parameterId .setParamType (this .paramType );
139
+ }
140
+ else
141
+ this .parameterId = new ParameterId (this .pName , paramType );
126
142
}
127
143
128
144
/**
@@ -294,4 +310,22 @@ public boolean isRequestPart() {
294
310
public void setRequestPart (boolean requestPart ) {
295
311
this .requestPart = requestPart ;
296
312
}
313
+
314
+ /**
315
+ * Gets parameter id.
316
+ *
317
+ * @return the parameter id
318
+ */
319
+ public ParameterId getParameterId () {
320
+ return parameterId ;
321
+ }
322
+
323
+ /**
324
+ * Sets parameter id.
325
+ *
326
+ * @param parameterId the parameter id
327
+ */
328
+ public void setParameterId (ParameterId parameterId ) {
329
+ this .parameterId = parameterId ;
330
+ }
297
331
}
0 commit comments