我在一个 ApiResource 上有三个集合操作,它们具有不同的normalization_context
和filters
.
/equipments
检索所有设备(根据当前用户过滤)/equipments/A
检索所有符合规则 A 的设备/equipments/B
检索所有符合规则 B 的设备
一些过滤器是在嵌套属性(相关实体的 ID)上设置的。我想为 API 使用者提供可用于某些过滤器的值。假设我有一个由所有端点共享的公司过滤器。
- 允许的
/equipments
值为 1,2,3 - 允许的
/equipments/A
值为 4,5,6 - 允许的
/equipments/B
值为 1,3,5
我看到的解决方案是.../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 文档中添加这些操作?