问题描述
我有 2 个实体:
ENTRYPOINT ["python3","train.py"]
两个实体都作为 API 资源公开(我使用的是 DTO)
User
Book
我只想允许管理员查看两个实体的集合,但我还需要能够获取嵌套集合:
//src/Entity/User.PHP
#[ApiResource(
collectionoperations: [
'get' => [
'security' => 'is_granted("ROLE_ADMIN")'
],],graphql: [
'collection_query' => [
'security' => 'is_granted("ROLE_ADMIN")'
],'item_query',itemOperations: [
'get',denormalizationContext: ['groups' => ['user:write']],normalizationContext: ['groups' => ['user:read']],output: UserOutput::class
)]
...
//src/Entity/Book.PHP
#[ApiResource(
collectionoperations: [
'get' => [
'security' => 'is_granted("ROLE_ADMIN")'
],denormalizationContext: ['groups' => ['book:write']],normalizationContext: ['groups' => ['book:read']],output: BookOutput::class
)]
...
我可以使用 REST 获取集合,但是如何使用 GraphQL 获取集合?我很困惑。在这种情况下我该怎么办?
更新:
query {
user(id: "/api/users/01F63NKKN7DWYB74K6G5N33DPP") {
id
books{
edges{
node{
id
}
}
}
}
}
Result: Access Denied.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)