如何解决GraphQL返回数据结果+更多
我有一个Dotnetcore 3.0项目(Project1),使用graphql-dotnet库在Graphql端点上调用了另一个Dotnetcore 3.0项目(Project2)
Project2正常运行,并且按预期方式运行,并且在被GraphiQL或邮递员命中时仅返回“数据”对象。但是,当从Project1调用Project2获取数据的值时,我得到了这样的对象响应
{
"data": {
"member": {
"forename": "IT","email": "email@email.com ","name": "Test"
}
},"errors": null,"query": "query{\n member(memberNo: \"MYMEMBERNUMBER\"){\n forename\n email\n name\n }\n}\n","document": {
"originalQuery": "query{\n member(memberNo: \"MYMEMBERNUMBER\"){\n forename\n email\n name\n }\n}\n","children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [],"sourceLocation": {
"start": 26,"end": 39,"line": 0,"column": 0
}
}
],"sourceLocation": {
"start": 16,"end": 25,"column": 0
}
}
],"sourceLocation": null
},{
"children": [],{
"children": [
{
"children": [
{
"children": [],"sourceLocation": null
},{
"children": [],"sourceLocation": {
"start": -1,"end": -1,"sourceLocation": {
"start": 45,"end": 63,"column": 0
}
},{
"children": [
{
"children": [],"sourceLocation": {
"start": 58,"end": 72,"sourceLocation": {
"start": 68,"end": 76,"sourceLocation": {
"start": 39,"end": 78,"column": 0
}
}
],"sourceLocation": {
"start": 9,"column": 0
}
}
],"sourceLocation": {
"start": 5,"end": 79,"column": 0
}
}
],"sourceLocation": {
"start": 0,"column": 0
}
}
],"operations": [
{
"name": null,"nameNode": null,"operationType": 0,"directives": [],"variables": [],"selectionSet": {
"selections": [
{}
],"children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [],"sourceLocation": {
"start": 26,"column": 0
}
}
],"sourceLocation": {
"start": 16,"column": 0
}
}
],"sourceLocation": null
},{
"children": [],{
"children": [
{
"children": [
{
"children": [],"sourceLocation": null
},{
"children": [],"sourceLocation": {
"start": -1,"sourceLocation": {
"start": 45,"column": 0
}
},{
"children": [
{
"children": [],"sourceLocation": {
"start": 58,"sourceLocation": {
"start": 68,"sourceLocation": {
"start": 39,"column": 0
}
}
],"sourceLocation": {
"start": 9,"column": 0
}
}
],"sourceLocation": {
"start": 5,"column": 0
}
},"children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [],"fragments": [],"sourceLocation": null
},"operation": {
"name": null,"selectionSet": {
"selections": [
{}
],"children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [],"sourceLocation": {
"start": 26,"sourceLocation": {
"start": 16,"sourceLocation": null
},{
"children": [],{
"children": [
{
"children": [
{
"children": [],"sourceLocation": null
},{
"children": [],"sourceLocation": {
"start": -1,"sourceLocation": {
"start": 45,"column": 0
}
},{
"children": [
{
"children": [],"sourceLocation": {
"start": 58,"sourceLocation": {
"start": 68,"sourceLocation": {
"start": 39,"sourceLocation": {
"start": 9,"column": 0
}
}
],"sourceLocation": {
"start": 5,"column": 0
}
},"children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [
{
"children": [],"sourceLocation": {
"start": 26,"sourceLocation": {
"start": 16,"sourceLocation": null
},{
"children": [],{
"children": [
{
"children": [
{
"children": [],"sourceLocation": null
},{
"children": [],"sourceLocation": {
"start": -1,"sourceLocation": {
"start": 45,"column": 0
}
},{
"children": [
{
"children": [],"sourceLocation": {
"start": 58,"sourceLocation": {
"start": 68,"sourceLocation": {
"start": 39,"sourceLocation": {
"start": 9,"sourceLocation": {
"start": 5,"sourceLocation": {
"start": 0,"column": 0
}
},"perf": [
{
"category": "operation","subject": null,"metadata": null,"start": 0,"end": 24.5424,"duration": 24.5424
},{
"category": "document","subject": "Building document","start": 0.016900000000000002,"end": 0.2521,"duration": 0.2352
},"subject": "Validating document","start": 0.2647,"end": 0.7371000000000001,"duration": 0.4724000000000001
},{
"category": "execution","subject": "Executing operation","start": 0.7574000000000001,"end": 24.5392,"duration": 23.7818
}
],"exposeExceptions": false,"extensions": null
}
从Project2获取数据的服务正在映射数据并成功返回对象。所以我不明白为什么结果成功后我会得到所有这些额外数据?
解决方法
感谢Xadam的答复。阅读文档!
通过在控制器上进行设置
解决var executionOptions = new ExecutionOptions
{
Schema = _schema,Query = query.Query,Inputs = inputs,EnableMetrics = false
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。