Skip to content

Commit 1b1d296

Browse files
committed
added bean configuration
1 parent a29583d commit 1b1d296

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

springdoc-openapi-data-rest/src/main/java/org/springdoc/core/SpringDocDataRestConfiguration.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,23 @@
3333
import org.springdoc.core.converters.Pageable;
3434
import org.springdoc.core.converters.QueryDslPredicateConverter;
3535
import org.springdoc.core.converters.RepresentationModelLinksOASMixin;
36+
import org.springdoc.core.customisers.QuerydslPredicateOperationCustomizer;
3637
import org.springdoc.core.customizers.OpenApiCustomiser;
3738

3839
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
40+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
3941
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
4042
import org.springframework.context.annotation.Bean;
4143
import org.springframework.context.annotation.Configuration;
44+
import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
4245
import org.springframework.data.querydsl.binding.QuerydslBindingsFactory;
4346
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
4447
import org.springframework.hateoas.Link;
4548
import org.springframework.hateoas.Links;
4649
import org.springframework.hateoas.RepresentationModel;
4750

4851
import static org.springdoc.core.Constants.SPRINGDOC_ENABLED;
52+
import static org.springdoc.core.Constants.SPRINGDOC_QDSLPREDICATE_MODE;
4953
import static org.springdoc.core.SpringDocUtils.getConfig;
5054

5155
@Configuration
@@ -63,9 +67,17 @@ public class SpringDocDataRestConfiguration {
6367
class QuerydslProvider {
6468

6569
@Bean
70+
@ConditionalOnProperty(value = SPRINGDOC_QDSLPREDICATE_MODE,havingValue = "object")
6671
public QueryDslPredicateConverter qdslConverter(Optional<QuerydslBindingsFactory> querydslBindingsFactory) {
6772
return querydslBindingsFactory.isPresent() ? new QueryDslPredicateConverter(querydslBindingsFactory.get()) : null;
6873
}
74+
75+
@Bean
76+
@ConditionalOnMissingBean({ QueryDslPredicateConverter.class})
77+
public QuerydslPredicateOperationCustomizer querydslPredicateOperationCustomizer(QuerydslBindingsFactory querydslBindingsFactory,
78+
LocalVariableTableParameterNameDiscoverer localVariableTableParameterNameDiscoverer) {
79+
return new QuerydslPredicateOperationCustomizer(querydslBindingsFactory, localVariableTableParameterNameDiscoverer);
80+
}
6981
}
7082

7183
@Configuration

0 commit comments

Comments
 (0)