Как привести значение Long в LongFilter? - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь привести значение Long (id) в LongFilter класса TagCriteria, который использует приватный LongFilter postId; создать объект, который я могу использовать для запроса

public ResponseEntity<List<TagDTO>> getAllTags(TagCriteria criteria, Pageable pageable)

НО я не вижу, как это сделать, так как Java Doc мне не совсем понятен.

public class TagCriteria implements Serializable {
    private static final long serialVersionUID = 1L;
    private LongFilter id;
    private StringFilter tagName;
    private LongFilter postId;

    public TagCriteria() {
    }
}

Класс фильтра для сопоставимых типов, где можно интерпретировать отношения меньше / больше, чем / etc. Его можно добавить в класс критериев в качестве члена для поддержки следующих параметров запроса:

  fieldName.equals = 42
  fieldName.specified = true
  fieldName.specified = false
  fieldName.in = 43,42
  fieldName.greaterThan = 41
  fieldName.lessThan = 44
  fieldName.greaterOrEqualThan = 42
  fieldName.lessOrEqualThan = 44

Из-за проблем с преобразованием типов следует использовать классы-потомки, где материализуется параметр универсального типа.

Параметры типа:

<FIELD_TYPE> the type of filter.

See also:
IntegerFilter
DoubleFilter
FloatFilter
LongFilter
LocalDateFilter
InstantFilter

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 05 января 2019

Попробуйте это:

Long longValue = 1L;
LongFilter longFilter = new LongFilter();
longFilter.setEquals(longValue);

Если вам нужно вызвать службу REST, вы можете указать значение с помощью queryParam.

Например, если у вас есть ресурс «Персона» с атрибутом «имя», и вам нужно получить всех людей с именем «Джон»:

api/person?name.equals=John
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...