如何将 Long 值转换为 LongFilter?

Mik*_*ike 3 spring-boot jhipster

我试图将 Long 值(id)转换为使用 private LongFilter postId 的类 TagCriteria 的 LongFilter;创建一个可以用来查询的对象

public ResponseEntity<List<TagDTO>> getAllTags(TagCriteria criteria, Pageable pageable)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何做到这一点,因为 Java 文档对我来说并不是很清楚。

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

    public TagCriteria() {
    }
}
Run Code Online (Sandbox Code Playgroud)

可比较类型的过滤器类,可以解释小于/大于/等关系。它可以作为成员添加到条件类中,以支持以下查询参数:

  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
Run Code Online (Sandbox Code Playgroud)

由于类型转换的问题,应该使用后代类,其中泛型类型参数被具体化。

类型参数:

<FIELD_TYPE> the type of filter.

See also:
IntegerFilter
DoubleFilter
FloatFilter
LongFilter
LocalDateFilter
InstantFilter
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

Joa*_*ppa 6

尝试这个:

Long longValue = 1L;
LongFilter longFilter = new LongFilter();
longFilter.setEquals(longValue);
Run Code Online (Sandbox Code Playgroud)

如果需要调用REST服务,可以使用queryParam指定值。

例如,如果您有一个带有属性“name”的资源“Person”,并且您需要检索名称为“John”的所有人员:

api/person?name.equals=John
Run Code Online (Sandbox Code Playgroud)