18
18
19
19
package org .springdoc .core ;
20
20
21
+ import java .lang .annotation .Annotation ;
22
+ import java .lang .reflect .Method ;
23
+ import java .math .BigDecimal ;
24
+ import java .util .ArrayList ;
25
+ import java .util .Arrays ;
26
+ import java .util .HashMap ;
27
+ import java .util .LinkedHashMap ;
28
+ import java .util .List ;
29
+ import java .util .Map ;
30
+ import java .util .Objects ;
31
+ import java .util .Optional ;
32
+ import java .util .Set ;
33
+ import java .util .stream .Collectors ;
34
+ import java .util .stream .Stream ;
35
+
36
+ import javax .validation .constraints .DecimalMax ;
37
+ import javax .validation .constraints .DecimalMin ;
38
+ import javax .validation .constraints .Max ;
39
+ import javax .validation .constraints .Min ;
40
+ import javax .validation .constraints .NotNull ;
41
+ import javax .validation .constraints .Pattern ;
42
+ import javax .validation .constraints .Size ;
43
+
21
44
import com .fasterxml .jackson .annotation .JsonView ;
22
45
import io .swagger .v3 .oas .annotations .enums .ParameterIn ;
23
46
import io .swagger .v3 .oas .models .Components ;
34
57
import org .springdoc .core .converters .AdditionalModelsConverter ;
35
58
import org .springdoc .core .customizers .OperationCustomizer ;
36
59
import org .springdoc .core .customizers .ParameterCustomizer ;
60
+
37
61
import org .springframework .core .LocalVariableTableParameterNameDiscoverer ;
38
62
import org .springframework .core .MethodParameter ;
39
63
import org .springframework .core .annotation .AnnotatedElementUtils ;
40
64
import org .springframework .http .HttpMethod ;
41
65
import org .springframework .util .CollectionUtils ;
42
66
import org .springframework .validation .BindingResult ;
43
67
import org .springframework .validation .Errors ;
44
- import org .springframework .web .bind .annotation .*;
68
+ import org .springframework .web .bind .annotation .CookieValue ;
69
+ import org .springframework .web .bind .annotation .PathVariable ;
70
+ import org .springframework .web .bind .annotation .RequestAttribute ;
71
+ import org .springframework .web .bind .annotation .RequestHeader ;
72
+ import org .springframework .web .bind .annotation .RequestMethod ;
73
+ import org .springframework .web .bind .annotation .RequestParam ;
74
+ import org .springframework .web .bind .annotation .ValueConstants ;
45
75
import org .springframework .web .bind .support .SessionStatus ;
46
76
import org .springframework .web .context .request .NativeWebRequest ;
47
77
import org .springframework .web .context .request .WebRequest ;
48
78
import org .springframework .web .method .HandlerMethod ;
49
79
import org .springframework .web .util .UriComponentsBuilder ;
50
80
51
- import javax .validation .constraints .*;
52
- import java .lang .annotation .Annotation ;
53
- import java .lang .reflect .Method ;
54
- import java .math .BigDecimal ;
55
- import java .util .*;
56
- import java .util .stream .Collectors ;
57
- import java .util .stream .Stream ;
58
-
59
81
import static org .springdoc .core .Constants .OPENAPI_ARRAY_TYPE ;
60
82
import static org .springdoc .core .Constants .OPENAPI_STRING_TYPE ;
61
83
import static org .springdoc .core .Constants .QUERY_PARAM ;
@@ -150,7 +172,8 @@ public Operation build(HandlerMethod handlerMethod, RequestMethod requestMethod,
150
172
.map (f -> DelegatingMethodParameter .fromGetterOfField (paramClass , f ))
151
173
.filter (Objects ::nonNull )
152
174
.forEach (explodedParameters ::add );
153
- } else {
175
+ }
176
+ else {
154
177
String name = pNames != null ? pNames [i ] : p .getParameterName ();
155
178
explodedParameters .add (new DelegatingMethodParameter (p , name , null ));
156
179
}
@@ -166,14 +189,12 @@ public Operation build(HandlerMethod handlerMethod, RequestMethod requestMethod,
166
189
// check if query param
167
190
Parameter parameter = null ;
168
191
io .swagger .v3 .oas .annotations .Parameter parameterDoc = methodParameter .getParameterAnnotation (io .swagger .v3 .oas .annotations .Parameter .class );
169
- if (parameterDoc == null ) {
192
+ if (parameterDoc == null )
170
193
parameterDoc = parametersDocMap .get (methodParameter .getParameterName ());
171
- }
172
194
// use documentation as reference
173
195
if (parameterDoc != null ) {
174
- if (parameterDoc .hidden ()) {
196
+ if (parameterDoc .hidden ())
175
197
continue ;
176
- }
177
198
parameter = parameterBuilder .buildParameterFromDoc (parameterDoc , null ,
178
199
methodAttributes .getJsonViewAnnotation ());
179
200
}
@@ -185,12 +206,11 @@ public Operation build(HandlerMethod handlerMethod, RequestMethod requestMethod,
185
206
// Merge with the operation parameters
186
207
parameter = parameterBuilder .mergeParameter (operationParameters , parameter );
187
208
List <Annotation > parameterAnnotations = Arrays .asList (methodParameter .getParameterAnnotations ());
188
- if (isValidParameter (parameter )) {
209
+ if (isValidParameter (parameter ))
189
210
applyBeanValidatorAnnotations (parameter , parameterAnnotations );
190
- } else if (!RequestMethod .GET .equals (requestMethod )) {
191
- if (operation .getRequestBody () != null ) {
211
+ else if (!RequestMethod .GET .equals (requestMethod )) {
212
+ if (operation .getRequestBody () != null )
192
213
requestBodyInfo .setRequestBody (operation .getRequestBody ());
193
- }
194
214
requestBodyBuilder .calculateRequestBodyInfo (components , methodAttributes ,
195
215
parameterInfo , requestBodyInfo );
196
216
applyBeanValidatorAnnotations (requestBodyInfo .getRequestBody (), parameterAnnotations );
0 commit comments