1つのApiResourceに、normalization_context
とfilters
の3つのコレクション操作があります。コレクション内のフィルタを管理する最適な方法
/equipments
(現在のユーザにフィルタリングされた)すべての機器/equipments/A
は、すべての機器のマッチングを取得する取得/equipments/B
一部のフィルタは、ネストされたプロパティに設定されたルールB
に一致するすべての設備を取得するルール(関連エンティティのID)。私はAPIコンシューマーに特定のフィルターに使用できる値を与えたいと思います。たとえば、すべてのエンドポイントで共有される会社フィルタがあるとします。許容値は1,2,3
/equipments/A
ために許可される値は4,5,6/equipments/B
ために許可される値は1,3,5/equipments
について
私が見る解決策は、許可された値でフィルタを返す操作ごとにエンドポイントを.../filters
に追加することです。
GET /equipments/filters
[
{
'name': 'company',
'type': integer,
'choices': [
'Company 1': 1,
'Company 2': 2,
'Company 3': 3,
]
},
{
'name': 'operator',
'type': autocomplete,
'url': /equipments/filters/operator?q={q}
}
]
ボーナス質問:これは良い解決策であれば、どのように私はJSON-LD /ハイドラのドキュメントで論文操作を追加することができますか?
私はHydra仕様のテンプレートリンクについて読んだことがあります。しかし、適用可能な値のエンドポイントを追加する場所はわかりません。 – Erwan
IRIを 'property'値に入れることができます。 –
各 '/ equipements'エンドポイントごとに異なることがあります。 しかし、ネットワークパフォーマンスの観点からは最適ではありません。フィルターを使用してリストを表示するには、フィルターごとに追加の要求を行う必要があります。 – Erwan