2
2
*
3
3
* *
4
4
* * *
5
- * * * * Copyright 2019-2022 the original author or authors.
6
5
* * * *
7
- * * * * Licensed under the Apache License, Version 2.0 (the "License");
8
- * * * * you may not use this file except in compliance with the License.
9
- * * * * You may obtain a copy of the License at
6
+ * * * * * Copyright 2019-2022 the original author or authors.
7
+ * * * * *
8
+ * * * * * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * * * * * you may not use this file except in compliance with the License.
10
+ * * * * * You may obtain a copy of the License at
11
+ * * * * *
12
+ * * * * * https://www.apache.org/licenses/LICENSE-2.0
13
+ * * * * *
14
+ * * * * * Unless required by applicable law or agreed to in writing, software
15
+ * * * * * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * * * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * * * * * See the License for the specific language governing permissions and
18
+ * * * * * limitations under the License.
10
19
* * * *
11
- * * * * https://www.apache.org/licenses/LICENSE-2.0
12
- * * * *
13
- * * * * Unless required by applicable law or agreed to in writing, software
14
- * * * * distributed under the License is distributed on an "AS IS" BASIS,
15
- * * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * * * * See the License for the specific language governing permissions and
17
- * * * * limitations under the License.
18
20
* * *
19
21
* *
20
22
*
65
67
import org .springdoc .core .providers .ActuatorProvider ;
66
68
import org .springdoc .core .providers .CloudFunctionProvider ;
67
69
import org .springdoc .core .providers .JavadocProvider ;
70
+ import org .springdoc .core .providers .ObjectMapperProvider ;
68
71
import org .springdoc .core .providers .RepositoryRestConfigurationProvider ;
69
72
import org .springdoc .core .providers .RepositoryRestResourceProvider ;
70
73
import org .springdoc .core .providers .RouterFunctionProvider ;
@@ -150,12 +153,13 @@ LocalVariableTableParameterNameDiscoverer localSpringDocParameterNameDiscoverer(
150
153
/**
151
154
* Additional models converter additional models converter.
152
155
*
156
+ * @param objectMapperProvider the object mapper provider
153
157
* @return the additional models converter
154
158
*/
155
159
@ Bean
156
160
@ Lazy (false )
157
- AdditionalModelsConverter additionalModelsConverter () {
158
- return new AdditionalModelsConverter ();
161
+ AdditionalModelsConverter additionalModelsConverter (ObjectMapperProvider objectMapperProvider ) {
162
+ return new AdditionalModelsConverter (objectMapperProvider );
159
163
}
160
164
161
165
/**
@@ -173,25 +177,27 @@ PropertyCustomizingConverter propertyCustomizingConverter(Optional<List<Property
173
177
/**
174
178
* File support converter file support converter.
175
179
*
180
+ * @param objectMapperProvider the object mapper provider
176
181
* @return the file support converter
177
182
*/
178
183
@ Bean
179
184
@ ConditionalOnMissingBean
180
185
@ Lazy (false )
181
- FileSupportConverter fileSupportConverter () {
182
- return new FileSupportConverter ();
186
+ FileSupportConverter fileSupportConverter (ObjectMapperProvider objectMapperProvider ) {
187
+ return new FileSupportConverter (objectMapperProvider );
183
188
}
184
189
185
190
/**
186
191
* Response support converter response support converter.
187
192
*
193
+ * @param objectMapperProvider the object mapper provider
188
194
* @return the response support converter
189
195
*/
190
196
@ Bean
191
197
@ ConditionalOnMissingBean
192
198
@ Lazy (false )
193
- ResponseSupportConverter responseSupportConverter () {
194
- return new ResponseSupportConverter ();
199
+ ResponseSupportConverter responseSupportConverter (ObjectMapperProvider objectMapperProvider ) {
200
+ return new ResponseSupportConverter (objectMapperProvider );
195
201
}
196
202
197
203
/**
@@ -210,14 +216,15 @@ SchemaPropertyDeprecatingConverter schemaPropertyDeprecatingConverter() {
210
216
/**
211
217
* Polymorphic model converter polymorphic model converter.
212
218
*
219
+ * @param objectMapperProvider the object mapper provider
213
220
* @return the polymorphic model converter
214
221
*/
215
222
@ Bean
216
223
@ ConditionalOnMissingBean
217
224
@ ConditionalOnProperty (name = SPRINGDOC_POLYMORPHIC_CONVERTER_ENABLED , matchIfMissing = true )
218
225
@ Lazy (false )
219
- PolymorphicModelConverter polymorphicModelConverter () {
220
- return new PolymorphicModelConverter ();
226
+ PolymorphicModelConverter polymorphicModelConverter (ObjectMapperProvider objectMapperProvider ) {
227
+ return new PolymorphicModelConverter (objectMapperProvider );
221
228
}
222
229
223
230
/**
@@ -227,8 +234,8 @@ PolymorphicModelConverter polymorphicModelConverter() {
227
234
* @param securityParser the security parser
228
235
* @param springDocConfigProperties the spring doc config properties
229
236
* @param propertyResolverUtils the property resolver utils
230
- * @param openApiBuilderCustomizers the open api builder customisers
231
- * @param serverBaseUrlCustomizers the server base url customizers
237
+ * @param openApiBuilderCustomisers the open api builder customisers
238
+ * @param serverBaseUrlCustomisers the server base url customisers
232
239
* @param javadocProvider the javadoc provider
233
240
* @return the open api builder
234
241
*/
@@ -237,11 +244,10 @@ PolymorphicModelConverter polymorphicModelConverter() {
237
244
@ Lazy (false )
238
245
OpenAPIService openAPIBuilder (Optional <OpenAPI > openAPI ,
239
246
SecurityService securityParser ,
240
- SpringDocConfigProperties springDocConfigProperties , PropertyResolverUtils propertyResolverUtils ,
241
- Optional <List <OpenApiBuilderCustomizer >> openApiBuilderCustomizers ,
242
- Optional <List <ServerBaseUrlCustomizer >> serverBaseUrlCustomizers ,
243
- Optional <JavadocProvider > javadocProvider ) {
244
- return new OpenAPIService (openAPI , securityParser , springDocConfigProperties , propertyResolverUtils , openApiBuilderCustomizers , serverBaseUrlCustomizers , javadocProvider );
247
+ SpringDocConfigProperties springDocConfigProperties ,PropertyResolverUtils propertyResolverUtils ,
248
+ Optional <List <OpenApiBuilderCustomizer >> openApiBuilderCustomisers ,
249
+ Optional <List <ServerBaseUrlCustomizer >> serverBaseUrlCustomisers , Optional <JavadocProvider > javadocProvider ) {
250
+ return new OpenAPIService (openAPI , securityParser , springDocConfigProperties , propertyResolverUtils , openApiBuilderCustomisers , serverBaseUrlCustomisers , javadocProvider );
245
251
}
246
252
247
253
/**
@@ -332,16 +338,17 @@ ReturnTypeParser genericReturnTypeParser() {
332
338
* @param propertyResolverUtils the property resolver utils
333
339
* @param optionalDelegatingMethodParameterCustomizer the optional delegating method parameter customizer
334
340
* @param optionalWebConversionServiceProvider the optional web conversion service provider
341
+ * @param objectMapperProvider the object mapper provider
335
342
* @return the generic parameter builder
336
343
*/
337
344
@ Bean
338
345
@ ConditionalOnMissingBean
339
346
@ Lazy (false )
340
347
GenericParameterService parameterBuilder (PropertyResolverUtils propertyResolverUtils ,
341
348
Optional <DelegatingMethodParameterCustomizer > optionalDelegatingMethodParameterCustomizer ,
342
- Optional <WebConversionServiceProvider > optionalWebConversionServiceProvider ) {
349
+ Optional <WebConversionServiceProvider > optionalWebConversionServiceProvider , ObjectMapperProvider objectMapperProvider ) {
343
350
return new GenericParameterService (propertyResolverUtils , optionalDelegatingMethodParameterCustomizer ,
344
- optionalWebConversionServiceProvider );
351
+ optionalWebConversionServiceProvider , objectMapperProvider );
345
352
}
346
353
347
354
/**
@@ -399,14 +406,18 @@ static BeanFactoryPostProcessor springdocBeanFactoryPostProcessor2() {
399
406
* @param repositoryRestResourceProvider the repository rest resource provider
400
407
* @param routerFunctionProvider the router function provider
401
408
* @param springWebProvider the spring web provider
409
+ * @param webConversionServiceProvider the web conversion service provider
410
+ * @param objectMapperProvider the object mapper provider
402
411
* @return the spring doc providers
403
412
*/
404
413
@ Bean
405
414
@ ConditionalOnMissingBean
406
415
@ Lazy (false )
407
416
SpringDocProviders springDocProviders (Optional <ActuatorProvider > actuatorProvider , Optional <CloudFunctionProvider > springCloudFunctionProvider , Optional <SecurityOAuth2Provider > springSecurityOAuth2Provider ,
408
- Optional <RepositoryRestResourceProvider > repositoryRestResourceProvider , Optional <RouterFunctionProvider > routerFunctionProvider , Optional <SpringWebProvider > springWebProvider ) {
409
- return new SpringDocProviders (actuatorProvider , springCloudFunctionProvider , springSecurityOAuth2Provider , repositoryRestResourceProvider , routerFunctionProvider , springWebProvider );
417
+ Optional <RepositoryRestResourceProvider > repositoryRestResourceProvider , Optional <RouterFunctionProvider > routerFunctionProvider ,
418
+ Optional <SpringWebProvider > springWebProvider , Optional <WebConversionServiceProvider > webConversionServiceProvider ,
419
+ ObjectMapperProvider objectMapperProvider ) {
420
+ return new SpringDocProviders (actuatorProvider , springCloudFunctionProvider , springSecurityOAuth2Provider , repositoryRestResourceProvider , routerFunctionProvider , springWebProvider , webConversionServiceProvider , objectMapperProvider );
410
421
}
411
422
412
423
/**
@@ -535,4 +546,17 @@ RepositoryRestConfigurationProvider repositoryRestConfigurationProvider(Optional
535
546
return new RepositoryRestConfigurationProvider (optionalRepositoryRestConfiguration );
536
547
}
537
548
}
549
+
550
+ /**
551
+ * Object mapper provider object mapper provider.
552
+ *
553
+ * @param springDocConfigProperties the spring doc config properties
554
+ * @return the object mapper provider
555
+ */
556
+ @ Bean
557
+ @ ConditionalOnMissingBean
558
+ @ Lazy (false )
559
+ ObjectMapperProvider objectMapperProvider (SpringDocConfigProperties springDocConfigProperties ){
560
+ return new ObjectMapperProvider (springDocConfigProperties );
561
+ }
538
562
}
0 commit comments