7
7
import org .springframework .beans .factory .BeanFactory ;
8
8
import org .springframework .beans .factory .BeanFactoryAware ;
9
9
import org .springframework .beans .factory .config .ConfigurableBeanFactory ;
10
+ import org .springframework .boot .autoconfigure .condition .ConditionalOnBean ;
10
11
import org .springframework .boot .autoconfigure .condition .ConditionalOnMissingBean ;
11
12
import org .springframework .boot .autoconfigure .condition .ConditionalOnProperty ;
12
13
import org .springframework .context .annotation .Bean ;
13
14
import org .springframework .context .annotation .Configuration ;
14
15
import org .springframework .context .annotation .Import ;
15
16
import org .springframework .util .StringUtils ;
17
+ import org .springframework .web .bind .annotation .RequestMethod ;
16
18
import springfox .documentation .builders .*;
17
19
import springfox .documentation .schema .ModelRef ;
18
20
import springfox .documentation .service .ApiInfo ;
19
21
import springfox .documentation .service .Contact ;
20
22
import springfox .documentation .service .Parameter ;
21
23
import springfox .documentation .service .ResponseMessage ;
22
24
import springfox .documentation .spi .DocumentationType ;
23
- import org .springframework .web .bind .annotation .RequestMethod ;
24
25
import springfox .documentation .spring .web .plugins .Docket ;
26
+ import springfox .documentation .swagger .web .UiConfiguration ;
25
27
26
28
import java .util .*;
27
29
import java .util .stream .Collectors ;
@@ -45,8 +47,22 @@ public SwaggerProperties swaggerProperties() {
45
47
return new SwaggerProperties ();
46
48
}
47
49
50
+ @ Bean
51
+ public UiConfiguration uiConfiguration (SwaggerProperties swaggerProperties ) {
52
+ return new UiConfiguration (
53
+ swaggerProperties .getUiConfig ().getValidatorUrl (),// url
54
+ swaggerProperties .getUiConfig ().getDocExpansion (), // docExpansion => none | list
55
+ swaggerProperties .getUiConfig ().getApiSorter (), // apiSorter => alpha
56
+ swaggerProperties .getUiConfig ().getDefaultModelRendering (), // defaultModelRendering => schema
57
+ swaggerProperties .getUiConfig ().getSubmitMethods ().split ("," ),
58
+ swaggerProperties .getUiConfig ().getJsonEditor (), // enableJsonEditor => true | false
59
+ swaggerProperties .getUiConfig ().getShowRequestHeaders (), // showRequestHeaders => true | false
60
+ swaggerProperties .getUiConfig ().getRequestTimeout ()); // requestTimeout => in milliseconds, defaults to null (uses jquery xh timeout)
61
+ }
62
+
48
63
@ Bean
49
64
@ ConditionalOnMissingBean
65
+ @ ConditionalOnBean (UiConfiguration .class )
50
66
@ ConditionalOnProperty (name = "swagger.enabled" , matchIfMissing = true )
51
67
public List <Docket > createRestApi (SwaggerProperties swaggerProperties ) {
52
68
ConfigurableBeanFactory configurableBeanFactory = (ConfigurableBeanFactory ) beanFactory ;
0 commit comments