0
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;
}
は内蔵のジャージーフィルタリング機構はありますそれは私のList<AppleRepresentation>
をフィルタリングし、緑色のリンゴだけを返しますか?
これまでのところ、Jersey entity filteringを調べました。私が見たことから、リスト全体またはフィールドをフィルタリングする方法はSelectableEntityFilteringFeature
です。
残念ながら、field = valueのリストのサブセットのみを返す簡単な方法はありません。
はそれを試していません。プロジェクトはJava8互換ではありませんが、残念ながらそれはオプションではありません。緑色のリンゴのみを取得するために別のSQLクエリを使って別のサービスメソッドを追加する必要があるようです。私はこのために取ることができるジャージーのショートカットがあるかどうか疑問に思っていた。 – Stefan
ああ。データベース側でフィルタリングすることができれば、それはさらに優れています。 – synthomat