私はJPAエンティティをWebサービスとして公開するために、Spring Data JPAとSpring Data Restを使用しています。私のエンティティは数百の属性を持ち、oneToは非常に多くの属性を持つ他のエンティティとの多くの関係も持っています。フィルタAPI応答json出力クエリパラメータに基づいて
私は、ユーザが関心のあるJSON応答本体のフィールドだけを返すことができるクエリパラメータを渡すことができます。これまではIBMのRational Team Concert REST APIを使用していましたが、呼び出し元は返されるフィールドを選択するためにXPathクエリを渡すことができます。 XPathの統合により、呼び出し側は個々のフィールドにフィルタリングロジックを適用することもできました。例えば、ここではそのAPIで可能だったものです。
作業項目/のworkItem [作成者/名= 'ボブSacremento' または所有者/名= 'ボブSacremento'] /(ID |要約)
^ザ・上記のクエリは、所有者または作成者の名前がBob SacrementoであるすべてのworkItem要素のidフィールドとsummaryフィールドを返します。
作業項目/のworkItem /(ID |サマリー|コメント[作成者/名= 'ボブSacremento'] /コンテンツ)
^上記のクエリは、ID、概要とすべてのworkItemのコメント内容のフィールドを返します。要素。しかし、Bob Sacrementoによって作成されたコメントのみが表示されます。
私のAPIと同様のことをしたいと思います。そのために私自身のコントローラーを書き込む前に、この機能を提供するフレームワークがあるかどうかを尋ねました。それは、Spring Data RESTがそうでないようです。