18
18
19
19
package org .springdoc .core ;
20
20
21
+ import java .util .Optional ;
22
+
21
23
import com .fasterxml .jackson .core .JsonGenerator ;
22
24
import com .fasterxml .jackson .databind .SerializerProvider ;
25
+ import com .querydsl .core .types .Predicate ;
23
26
import io .swagger .v3 .core .converter .AnnotatedType ;
24
27
import io .swagger .v3 .core .converter .ModelConverters ;
25
28
import io .swagger .v3 .core .converter .ResolvedSchema ;
31
34
import org .springdoc .core .converters .RepresentationModelLinksOASMixin ;
32
35
import org .springdoc .core .customisers .QuerydslPredicateOperationCustomizer ;
33
36
import org .springdoc .core .customizers .OpenApiCustomiser ;
37
+
34
38
import org .springframework .boot .autoconfigure .condition .ConditionalOnClass ;
35
39
import org .springframework .boot .autoconfigure .condition .ConditionalOnProperty ;
36
40
import org .springframework .context .annotation .Bean ;
42
46
import org .springframework .hateoas .Links ;
43
47
import org .springframework .hateoas .RepresentationModel ;
44
48
45
- import java .util .Optional ;
46
-
47
49
import static org .springdoc .core .Constants .SPRINGDOC_ENABLED ;
48
50
import static org .springdoc .core .SpringDocUtils .getConfig ;
49
51
@@ -57,13 +59,17 @@ public class SpringDocDataRestConfiguration {
57
59
}
58
60
59
61
@ Configuration
60
- @ ConditionalOnClass (value = {QuerydslBindingsFactory .class })
62
+ @ ConditionalOnClass (value = { QuerydslBindingsFactory .class })
61
63
class QuerydslProvider {
62
64
63
65
@ Bean
64
66
public QuerydslPredicateOperationCustomizer queryDslQuerydslPredicateOperationCustomizer (Optional <QuerydslBindingsFactory > querydslBindingsFactory ,
65
- LocalVariableTableParameterNameDiscoverer localVariableTableParameterNameDiscoverer ) {
66
- return querydslBindingsFactory .isPresent () ? new QuerydslPredicateOperationCustomizer (querydslBindingsFactory .get (), localVariableTableParameterNameDiscoverer ) : null ;
67
+ LocalVariableTableParameterNameDiscoverer localVariableTableParameterNameDiscoverer ) {
68
+ if (querydslBindingsFactory .isPresent ()) {
69
+ getConfig ().addRequestWrapperToIgnore (Predicate .class );
70
+ return new QuerydslPredicateOperationCustomizer (querydslBindingsFactory .get (), localVariableTableParameterNameDiscoverer );
71
+ }
72
+ return null ;
67
73
}
68
74
}
69
75
@@ -85,7 +91,8 @@ public HalProvider halProvider(Optional<RepositoryRestConfiguration> repositoryR
85
91
@ Bean
86
92
public OpenApiCustomiser linksSchemaCustomiser (Optional <RepositoryRestConfiguration > repositoryRestConfiguration ) {
87
93
if (!repositoryRestConfiguration .isPresent () || !repositoryRestConfiguration .get ().useHalAsDefaultJsonMediaType ()) {
88
- return openApi -> {};
94
+ return openApi -> {
95
+ };
89
96
}
90
97
Json .mapper ().addMixIn (RepresentationModel .class , RepresentationModelLinksOASMixin .class );
91
98
0 commit comments