泽西岛过滤并返回表示列表的子集

时间:2016-06-27 11:18:31

标签: java jersey filtering

使用Jersey 2.16,我希望通过传递一个布尔查询参数来返回列表的子集,该参数将匹配表示列表中的布尔字段。

例如,我们说我有这样的苹果资源:

@GET
@Path("apple/list")
public Response getAppleList(@DefaultValue("false") @QueryParam("isGreen") final boolean isGreen) {
    return appleService.getAppleList();
}

我的苹果代表看起来像这样:

public class AppleRepresentation {

    private int id;
    private String colour;
    private String country;
    private String isGreen;
}

是否有内置的Jersey过滤机制可以过滤我的List<AppleRepresentation>并仅返回青苹果?

到目前为止,我已查看Jersey entity filtering。根据我所见,有方法可以使用SelectableEntityFilteringFeature过滤掉整个列表或字段。

不幸的是,我看不到一种简单的方法,只返回一个字段=值的列表的子集。

1 个答案:

答案 0 :(得分:1)

您是否尝试过Java 8的本地流过滤方法?

appleService.getAppleList().stream().filter(a -> a.isGreen);

考虑到isGreen是一个布尔值......

(虽然没有测试)