-
-
Notifications
You must be signed in to change notification settings - Fork 467
/
SpringDocGroovyConfiguration.java
72 lines (65 loc) · 2.29 KB
/
SpringDocGroovyConfiguration.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
*
* *
* * *
* * * * Copyright 2019-2022 the original author or authors.
* * * *
* * * * Licensed under the Apache License, Version 2.0 (the "License");
* * * * you may not use this file except in compliance with the License.
* * * * You may obtain a copy of the License at
* * * *
* * * * https://www.apache.org/licenses/LICENSE-2.0
* * * *
* * * * Unless required by applicable law or agreed to in writing, software
* * * * distributed under the License is distributed on an "AS IS" BASIS,
* * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* * * * See the License for the specific language governing permissions and
* * * * limitations under the License.
* * *
* *
*
*/
package org.springdoc.groovy;
import groovy.lang.MetaClass;
import org.springdoc.core.SpringDocConfiguration;
import org.springdoc.core.SpringDocUtils;
import org.springdoc.core.converters.RequestTypeToIgnoreConverter;
import org.springdoc.core.providers.ObjectMapperProvider;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import static org.springdoc.core.Constants.SPRINGDOC_ENABLED;
/**
* The type Spring doc groovy configuration.
* @author bnasslahsen
*/
@Lazy(false)
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true)
@ConditionalOnBean(SpringDocConfiguration.class)
public class SpringDocGroovyConfiguration {
/**
* Ignore groovy meta class object.
*
* @return the object
*/
@Bean
@Lazy(false)
Object ignoreGroovyMetaClass() {
SpringDocUtils.getConfig().addRequestWrapperToIgnore(MetaClass.class);
return null;
}
/**
* Request type to ignore converter request type to ignore converter.
*
* @param springDocObjectMapper the spring doc object mapper
* @return the request type to ignore converter
*/
@Bean
@Lazy(false)
RequestTypeToIgnoreConverter requestTypeToIgnoreConverter(ObjectMapperProvider springDocObjectMapper) {
return new RequestTypeToIgnoreConverter(springDocObjectMapper);
}
}