|
33 | 33 | import java.util.Optional;
|
34 | 34 |
|
35 | 35 | import com.fasterxml.jackson.databind.node.ObjectNode;
|
| 36 | +import com.querydsl.core.types.Predicate; |
36 | 37 | import io.swagger.v3.core.converter.ModelConverter;
|
37 | 38 | import io.swagger.v3.oas.annotations.Hidden;
|
38 | 39 | import io.swagger.v3.oas.models.Components;
|
|
63 | 64 | import org.springdoc.core.customizers.OpenApiCustomizer;
|
64 | 65 | import org.springdoc.core.customizers.OperationCustomizer;
|
65 | 66 | import org.springdoc.core.customizers.PropertyCustomizer;
|
| 67 | +import org.springdoc.core.customizers.QuerydslPredicateOperationCustomizer; |
66 | 68 | import org.springdoc.core.customizers.RouterOperationCustomizer;
|
67 | 69 | import org.springdoc.core.customizers.ServerBaseUrlCustomizer;
|
68 | 70 | import org.springdoc.core.customizers.SpringDocCustomizers;
|
|
110 | 112 | import org.springframework.context.annotation.Conditional;
|
111 | 113 | import org.springframework.context.annotation.Configuration;
|
112 | 114 | import org.springframework.context.annotation.Lazy;
|
| 115 | +import org.springframework.data.querydsl.binding.QuerydslBindingsFactory; |
113 | 116 | import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
|
114 | 117 | import org.springframework.http.HttpStatus;
|
115 | 118 | import org.springframework.http.ResponseEntity;
|
@@ -617,4 +620,29 @@ public SpringDocCustomizers springDocCustomizers(Optional<List<OpenApiCustomizer
|
617 | 620 | dataRestRouterOperationCustomizers,
|
618 | 621 | methodFilters, globalOpenApiCustomizers, globalOperationCustomizers, globalOpenApiMethodFilters);
|
619 | 622 | }
|
| 623 | + |
| 624 | + /** |
| 625 | + * The type Querydsl provider. |
| 626 | + * @author bnasslashen |
| 627 | + */ |
| 628 | + @ConditionalOnClass(value = QuerydslBindingsFactory.class) |
| 629 | + static class QuerydslProvider { |
| 630 | + |
| 631 | + /** |
| 632 | + * Query dsl querydsl predicate operation customizer querydsl predicate operation customizer. |
| 633 | + * |
| 634 | + * @param querydslBindingsFactory the querydsl bindings factory |
| 635 | + * @return the querydsl predicate operation customizer |
| 636 | + */ |
| 637 | + @Bean |
| 638 | + @ConditionalOnMissingBean |
| 639 | + @Lazy(false) |
| 640 | + QuerydslPredicateOperationCustomizer queryDslQuerydslPredicateOperationCustomizer(Optional<QuerydslBindingsFactory> querydslBindingsFactory) { |
| 641 | + if (querydslBindingsFactory.isPresent()) { |
| 642 | + getConfig().addRequestWrapperToIgnore(Predicate.class); |
| 643 | + return new QuerydslPredicateOperationCustomizer(querydslBindingsFactory.get()); |
| 644 | + } |
| 645 | + return null; |
| 646 | + } |
| 647 | + } |
620 | 648 | }
|
0 commit comments