1818
1919package org .springdoc .core ;
2020
21+ import java .util .Optional ;
22+
2123import com .fasterxml .jackson .core .JsonGenerator ;
2224import com .fasterxml .jackson .databind .SerializerProvider ;
25+ import com .querydsl .core .types .Predicate ;
2326import io .swagger .v3 .core .converter .AnnotatedType ;
2427import io .swagger .v3 .core .converter .ModelConverters ;
2528import io .swagger .v3 .core .converter .ResolvedSchema ;
3134import org .springdoc .core .converters .RepresentationModelLinksOASMixin ;
3235import org .springdoc .core .customisers .QuerydslPredicateOperationCustomizer ;
3336import org .springdoc .core .customizers .OpenApiCustomiser ;
37+
3438import org .springframework .boot .autoconfigure .condition .ConditionalOnClass ;
3539import org .springframework .boot .autoconfigure .condition .ConditionalOnProperty ;
3640import org .springframework .context .annotation .Bean ;
4246import org .springframework .hateoas .Links ;
4347import org .springframework .hateoas .RepresentationModel ;
4448
45- import java .util .Optional ;
46-
4749import static org .springdoc .core .Constants .SPRINGDOC_ENABLED ;
4850import static org .springdoc .core .SpringDocUtils .getConfig ;
4951
@@ -57,13 +59,17 @@ public class SpringDocDataRestConfiguration {
5759 }
5860
5961 @ Configuration
60- @ ConditionalOnClass (value = {QuerydslBindingsFactory .class })
62+ @ ConditionalOnClass (value = { QuerydslBindingsFactory .class })
6163 class QuerydslProvider {
6264
6365 @ Bean
6466 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 ;
6773 }
6874 }
6975
@@ -85,7 +91,8 @@ public HalProvider halProvider(Optional<RepositoryRestConfiguration> repositoryR
8591 @ Bean
8692 public OpenApiCustomiser linksSchemaCustomiser (Optional <RepositoryRestConfiguration > repositoryRestConfiguration ) {
8793 if (!repositoryRestConfiguration .isPresent () || !repositoryRestConfiguration .get ().useHalAsDefaultJsonMediaType ()) {
88- return openApi -> {};
94+ return openApi -> {
95+ };
8996 }
9097 Json .mapper ().addMixIn (RepresentationModel .class , RepresentationModelLinksOASMixin .class );
9198
0 commit comments