Rest graphql客户端上的管理员返回空资源
我正试图通过graphql客户端在rest上与管理员打交道。我正在使用“aor graphql客户端GraphTool”和LaunchPad上的端点。 调试应用程序时会显示分配给资源密钥的零长度数组。类型/查询看起来不错,所以我认为内省可以正常工作Rest graphql客户端上的管理员返回空资源,graphql,admin-on-rest,Graphql,Admin On Rest,我正试图通过graphql客户端在rest上与管理员打交道。我正在使用“aor graphql客户端GraphTool”和LaunchPad上的端点。 调试应用程序时会显示分配给资源密钥的零长度数组。类型/查询看起来不错,所以我认为内省可以正常工作 introspectionResults {types: Array(39), queries: Array(9), resources: Array(0)} 我已经在我的端点中实现了getPageOf[Resource]和get[Resource
introspectionResults {types: Array(39), queries: Array(9), resources: Array(0)}
我已经在我的端点中实现了getPageOf[Resource]和get[Resource]查询,但是如果我需要做更多的事情,文档中还不清楚
我正在next.js react组件中初始化客户端,如文档所示:
componentDidMount() {
buildApolloClient({
clientOptions: {
uri: 'https://xxxxxxxxx.lp.gql.zone/graphql'
}
}).then((restClient) => {
this.setState({ restClient });
});
}
我还尝试禁用内省并传入自定义查询,但在本例中,内省结果为null
我想知道以下几点:
- launchpad是否与GraphTool客户端兼容
- 我是否需要在客户端初始化的配置中添加更多内容来填充资源
- rest上的管理员是否是它声称的银弹,即它能否通过内省查询破译我的模式并呈现数据
我真的希望如此,因为这东西看起来很酷 您需要内省或schema.js文件来使用graphql服务器的可用资源和类型初始化rest上的管理(aor)。AOR做了很多工作,但由于graphql在不断发展,也没有标准化所有内容(例如预期变量或它们的命名约定),因此您必须调整graphql的简单数据提供程序(请参见graphql的示例/演示)或编写自己的数据提供程序
我是如何开始的:如果您刚刚开始使用一个新的graphql服务器/模式,那么您自己的示例将基于示例/演示(如AOR文档中所述)。确保使用存储库的“下一个”分支。首先,逐步浏览将从示例中调用的ra数据图ql/src/index.js和ra数据图ql simple/src/index.js。这将显示自省结果与默认/简单数据提供程序不匹配的位置 如果您的内省返回一个空的
参考资料
,您将不得不为您的内省函数提供一个适配器
默认情况下,react admin
需要特定的架构形状(更多详细信息)
例如,对于Post
资源,您应该使用allPosts
查询来获取Post
类型查询{
Post(id:id!):Post
所有帖子(page:Int,perPage:Int,sortField:String,sortOrder:String,filter:PostFilter):[Post]
_allPostsMeta(page:Int,perPage:Int,sortField:String,sortOrder:String,filter:PostFilter):ListMetadata
}
如果在后端,您没有使用allPosts
,而是使用postList
,例如,您可以使用内省选项将allPosts
映射到postList
导出常量内省操作名称={
//模式,
[获取列表]:资源=>{
返回`${influction.camelize(resource.name,true)}List`;
},
...
};
同样适用于创建
,获取一个
,获取多个
,获取多个参考
,更新
和删除
您可以找到一个很好的自定义自省示例谢谢,但不是问题所在。内省很有效。我的模式中的graphql(标准)接口类型导致AOR拒绝该模式。如果您声称支持GrahpQL,则接口不是可选的。。。