Skip to content

Commit f1ac0b4

Browse files
committed
@QuerydslPredicate(root = X.class) annotation at Controller Method level not getting documented in Spring Boot 3. Fixes #2326
1 parent cdde2ac commit f1ac0b4

File tree

2 files changed

+28
-25
lines changed

2 files changed

+28
-25
lines changed

springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocConfiguration.java

+28
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import java.util.Optional;
3434

3535
import com.fasterxml.jackson.databind.node.ObjectNode;
36+
import com.querydsl.core.types.Predicate;
3637
import io.swagger.v3.core.converter.ModelConverter;
3738
import io.swagger.v3.oas.annotations.Hidden;
3839
import io.swagger.v3.oas.models.Components;
@@ -63,6 +64,7 @@
6364
import org.springdoc.core.customizers.OpenApiCustomizer;
6465
import org.springdoc.core.customizers.OperationCustomizer;
6566
import org.springdoc.core.customizers.PropertyCustomizer;
67+
import org.springdoc.core.customizers.QuerydslPredicateOperationCustomizer;
6668
import org.springdoc.core.customizers.RouterOperationCustomizer;
6769
import org.springdoc.core.customizers.ServerBaseUrlCustomizer;
6870
import org.springdoc.core.customizers.SpringDocCustomizers;
@@ -110,6 +112,7 @@
110112
import org.springframework.context.annotation.Conditional;
111113
import org.springframework.context.annotation.Configuration;
112114
import org.springframework.context.annotation.Lazy;
115+
import org.springframework.data.querydsl.binding.QuerydslBindingsFactory;
113116
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
114117
import org.springframework.http.HttpStatus;
115118
import org.springframework.http.ResponseEntity;
@@ -617,4 +620,29 @@ public SpringDocCustomizers springDocCustomizers(Optional<List<OpenApiCustomizer
617620
dataRestRouterOperationCustomizers,
618621
methodFilters, globalOpenApiCustomizers, globalOperationCustomizers, globalOpenApiMethodFilters);
619622
}
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+
}
620648
}

springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocDataRestConfiguration.java

-25
Original file line numberDiff line numberDiff line change
@@ -240,29 +240,4 @@ SpringDocDataRestUtils springDocDataRestUtils(LinkRelationProvider linkRelationP
240240
}
241241
}
242242

243-
/**
244-
* The type Querydsl provider.
245-
* @author bnasslashen
246-
*/
247-
@ConditionalOnClass(value = { QuerydslBindingsFactory.class })
248-
class QuerydslProvider {
249-
250-
/**
251-
* Query dsl querydsl predicate operation customizer querydsl predicate operation customizer.
252-
*
253-
* @param querydslBindingsFactory the querydsl bindings factory
254-
* @return the querydsl predicate operation customizer
255-
*/
256-
@Bean
257-
@ConditionalOnMissingBean
258-
@Lazy(false)
259-
QuerydslPredicateOperationCustomizer queryDslQuerydslPredicateOperationCustomizer(Optional<QuerydslBindingsFactory> querydslBindingsFactory) {
260-
if (querydslBindingsFactory.isPresent()) {
261-
getConfig().addRequestWrapperToIgnore(Predicate.class);
262-
return new QuerydslPredicateOperationCustomizer(querydslBindingsFactory.get());
263-
}
264-
return null;
265-
}
266-
}
267-
268243
}

0 commit comments

Comments
 (0)