2016-06-15 16 views
2

レストウェブサービスで投影を使用しています。残りの投影

?projection= (attr1,attr2)&include=0. 

ここで、投影文字列には、出力オブジェクトに含めるまたは除外するすべての変数の名前が含まれています。 include0の場合は変数を除外することを意味し、包含が1の場合はprojection文字列で指定された変数を含めることを意味します。これは正しいのですか?

答えて

0

このアプローチでは、RESTfulまたはRESTlessの場合は何も悪いことはありません。逆に、フィールドプロジェクションは、広く利用されている非常に良い方法です。

あなたのシナリオはよく分かりませんが、提案された解決策は複雑すぎるようです。私はむしろincludeフィールドを削除し、projectionが空の場合はリソース全体を返し、そうでなければprojectionクエリパラメータの下にリストされているフィールドのみを返します。

+0

ありがとうございました。シナリオには2つのケースがあります。 1つ目のケースは、すべてのフィールドのうちのいくつかのフィールドのみを含める場合です(50個のフィールドがあり、2個だけのフィールドが必要な場合)。その場合、2個のフィールドを投影文字列に入れ、include = 1を与えます。 2番目のケースでは、2つのフィールドを出力から除外したい場合50フィールドのシナリオでは、48フィールドの残りの部分を渡す必要はなく、必要なフィールドだけを渡すことができます= 0である。 –

+0

@DharmendraSingh [OK]をクリックすると、投影を変更し、同時にフィールドの包含と除外の両方を除外して含めることができます。 'include =(0 | 1)'よりはるかによく見え、はるかに読みやすくなります。 – Opal