Документ QueryDSL конечной точки с Swagger - PullRequest
0 голосов
/ 31 октября 2018

Я использую Spring Boot Data, QueryDSL и Swagger. Я определил конечную точку следующим образом:

@GetMapping
public ResponseEntity<?> listOfThings(
        @PageableDefault(size = 20, sort = "uID", direction = Sort.Direction.DESC) final Pageable pageable,
        @QuerydslPredicate(root = Thing.class) final Predicate predicate)

Однако Swagger определяет только переменные: страницу, размер, сортировку - кажется, что Entity не анализирует все поля как фильтруемые.

У меня есть такой репозиторий:

@Repository
public interface ThingRepository
        extends JpaSpecificationExecutor<Thing>, CrudRepository<Thing, String>, PagingAndSortingRepository<Thing, String>,
        QuerydslPredicateExecutor<Thing>, QuerydslBinderCustomizer<QThing>
{
    @Override
    default void customize(final QuerydslBindings bindings, final QThing thing)
    {
        bindings.bind(thing.status).first((status, value) -> status.eq(value));
        bindings.bind(thing.recipient).first(StringExpression::containsIgnoreCase);
        bindings.bind(String.class).first((StringPath path, String value) -> path.containsIgnoreCase(value));
    }

}

Я ожидаю, что Swagger отобразит все поля String в качестве фильтров, особенно статус и получатель, которые строго определены.

...