在GraphQL/Apollo中使用承诺和变异查询?

我正在中运行以下变异查询: 突变 mutation($fromID: String!, $toID: String!, $msgText: String!){ createIM(fromID: $fromID, toID: $toID, msgText: $msgText){ fromID toID msgText } } 查询变量 { "fromID": "1", "toID": "2", "msgText": "Test from GraphIQ

如何在中继中捕获GraphQL错误消息?

在我的服务器上,我的GraphQL实现使用Flask、Graphene和SQLAlchemy。理想情况下,我希望能够简单地操作标题并返回401错误响应,但GraphQL将所有内容返回为200 使用flask.abort(401),但我至少能够获得以下响应: ... "errors": [ { "message": "401 Unauthorized: The server could not verify that you are authorized to access the U

GraphQL模式中的特殊字符

是否有任何方法可以在GraphQL模式中启用特殊字符(例如,/,:,@字段名) 如果没有(我怀疑是这样的),您是否知道修改node.js代码()以实现此类功能的相对最简单的方法是什么 我建议不要这样做。graphql js遵循graphql规范中规定的语法形式。这样的更改将脱离规范,您的模式将不再适用于graphql工具。解析器将抛出无效的架构,因为这些字符在graphql中具有特殊含义 图形SQL规范 标点符号:其中一个!$( ) ... : = @ []{} GraphQ

Graphql 当一个客户在一个突变中被陈述时,阿波罗崩溃了

我正在使用这个添加多个客户端的最新功能,目前为止它工作得很好,但只有在这种情况下,当我在我的选项中显式声明客户端时,下面的代码才会中断。我在其他组件上也遵循了这种模式,没有出现任何问题 import { gql } from 'react-apollo'; const networkInterfaceAccounts = createNetworkInterface({ uri: ACCOUNTS_CLIENT_URL, }); networkInterfaceAccounts.use([

抑制GraphQL响应中的重复项

如何合并请求-响应中收到的任何重复行 我要求用户查看最近的200本书,结果中有重复的 结果如下所示: { "data": { "view_book": [ { "views": 4, "book": { "id": "26910093", "title": "Book name 1",

Graphql apollo server express:如何解析内部订阅?

在执行常规graphQL查询时,我可以毫不费力地获取嵌套对象或计算但在订阅中,如: subscription { Event(filter: { mutation_in: [CREATED] }) { node { title description start end seats bookings owner { email } } } } 只要

Graphql 如何限制查询自省

我有一个node.js项目,由apollo服务器提供支持。我使用定制的@admin指令对查询、突变和对象字段进行权限检查。对于查询和变异,该指令抛出错误,对于字段,它返回null而不是实值 现在,我想将graphiql ui添加到我的项目中,以便其他开发人员可以探索我的graphql模式。但是,我想让他们看到匿名用户看到的模式,也就是说,他们不应该知道是否存在@admin字段和@admin查询以及所有突变(即使是非管理员)。即使那些拥有执行这些操作的凭据(即以管理员身份登录)的人也不应该看到架构

在GraphQL.NET中,如何指定查询可以采用可选参数?

比方说,我希望能够通过指定用户的ID或指定其他标识符(如电子邮件地址)来查询用户 如何构造根查询对象来接受它 鉴于此 public class MyQuery : ObjectGraphType { public MyQuery(IUserService userService) { Name = "Query"; Field<UserType>( "user", arguments:

Graphql 将Apollo客户端或同构获取与GraphiQL一起使用

我正在尝试将GraphiQL IDE集成到我的网站中,我想知道我是否可以得到一些建议,关于我是否最好使用网站其余部分使用的Apollo客户端,或者按照文档中的建议使用同构Fetch 如果我使用Apollo客户端,那么我只需要担心一个连接,不必考虑确保身份验证是正确的,但代码更复杂 我有这段代码用于fetcher函数,但到目前为止,它只适用于查询,据我所知,处理突变也需要相当多的工作 graphQlFetcher = (params) => { return this.props.c

Graphql 苦艾酒图形SQL嵌套查询安全性

我一直在读到,用最大的查询深度保护您的应用程序是很重要的。也就是说,限制查询的“级别”数量。非常深入的查询示例: query IAmEvil { author(id: "abc") { posts { author { posts { author { posts { author { # that could go on as deep as the

Graphql获取2个标记之间的所有提交

我想列出2个标记之间的所有提交 如果我尝试在标记指向的两个日期之间进行提交,我甚至会从另一个分支获得提交,该分支在第二次提交之后合并,但在这两个日期之间进行 我想在graphqlapi或restapi中获得一些与git log v0.0.21…v0.0.32相当的东西

BFF或GraphQL应该在API网关之前还是之后?

在微服务体系结构中,用于转换响应的BFF/GraphQL应该在API网关之前还是之后 那么应该是客户端->图形QL->API网关->服务吗 或者应该是客户端->API网关->图形QL->服务 假设API网关和服务以及GraphQL托管在同一个云上。这始终取决于API网关的功能。您甚至可以使用GraphQL作为API网关。但无论如何,我想说第二种选择是使用得最多的。

aws appsync上具有父对象和子对象数组的Graphql变异

我得到了一个graphql变异,它传递了一个父对象和一系列子对象,比如 input CreateQuestionWithManyAnswersInput { question: CreateQuestionInput! answers: [CreateAnswerInput!]! } 实际的类型很无聊,一个ID,一些字符串等等 我已经在appsync中为这个变异附加了一个管道解析器,但我不知道如何编写单独的请求和响应映射模板 到目前为止,我为createQuestion函数得到

如何形成graphql后端响应?

我正在查询我的graphql后端,需要有扁平形状的响应 我的问题是: gql` { questions { edges { id title author: user { email } } } } ` 我的答复是: '5d3eafb7889a135ff8cd950c': { id: '5d3eafb7889a135ff8cd950c',

如何在GraphQL中执行突变?

我的目标是:在GraphQL中执行一个突变 我的模式如下所示: type Mutation { # Add a new comment addComment(comment: InputComment!): Comment } # Input type for a new Comment input InputComment { # The comment text comment: String! # The id of the author

GraphQL清除会话cookie结果发送到客户端后无法设置头

我试图弄清楚如何通过graphql清除httpOnly:true客户端只读会话cookie。我成功完成了会话。在Redis store中销毁cookie,但是,res.clearCookie似乎存在冲突,导致发送到客户端后无法设置头文件 logout: requiresAuth.createResolver( async (parent, args, { req, res }) => { return req.session.destroy((er

获得;必须指定输入值";通过java发送graphQL查询时出错

我正在尝试使用graphQL获取一些数据。代码应采用以下格式,但在调试过程中,我发现如下错误: [{“message”:“\“input\”值必须为 指定的“,”类别“:”图形输入“,”位置“:[{“行”:1,“列”:10}] 基本上我需要java中以下格式的数据 质疑{ 顾客{ 身份证件 地址{ 身份证件 名字 姓氏 街道 城市 区域{ 区域编码 区域 区域id } 邮政编码 国家识别号 电话 } } } 我用java编写的查询如下: return q -> q.customerId()

Graphql 盖茨比-对Contentful进行动态查询

我正在开发一个基于Gatsby和Contentful的简单电子商务。 我的一个页面是CartPage。 因此,我试图对Contenful进行查询,以获取有关我的产品的必要信息,因此我希望传递用户购物车中的产品ID列表 以下是我的组件和查询: export interface CartPageProps { data: { products: GQL.ContentfulProductConnection; }; } const CartPage = ({ data }: Car

拨号器(通过Dialyxir)警告;但这个值是无与伦比的;来自苦艾酒(GraphQL)路线的“前进”命令。如何解决?

我收到一个透析器错误,关于不匹配的返回,我不知道如何正确处理 mix dialyzer --quiet lib/my_app_web/router.ex:1:no_return Function __checks__/0 has no local return. ________________________________________________________________________________ lib/my_app_web/router.ex:21:unmatched

已解决:如何在graphQL片段中为查询定义可选字段

用于该查询的数据库在一个文件夹中显示一组YAML文件 使用GatsbyJS收集这些文件,并通过graphQL请求提供 并非所有源文件都定义了标签字段 丢失时是否可以为该字段返回默认值或空值 实际上,我得到了以下错误: 无法查询类型“EngagementsYamlTo”上的字段“label” 这是我的疑问: { stable: allEngagementsYaml(filter: {stable: {eq: true}, to: {}}) { edges { ...en

Gatsby组件中的多个graphql查询

我需要在一个组件和gatsby node.js文件中运行多个graphQL查询。(因为Prismic每个答案限制为20个条目…包将为所有Prismic条目(不仅仅是前20个条目)创建页面,因为它会在引擎盖下的所有条目上进行迭代,所以如果您希望为所有这些条目生成页面,我建议您考虑使用它 但是,如果需要获取所有项并在pageContext中传递它们,则需要自己在gatsby节点中进行递归 在gatsby节点中,定义查询后,可以使用类似这样的方法迭代结果并推送到数组 let documents = [

为什么graphql变异中会出现400错误?

我正在尝试使用前端在Strapi中创建新对象。为什么我的变异不起作用? 我得到以下信息: “邮政400(错误请求) 错误:网络错误:响应不成功:收到状态代码400“ 如何使用graphql变异在Strapi中创建新条目 <template> <form @submit.prevent="saveDancegroup"> <AppControlInput v-model="groupname">Name</AppControlInput>

Graphql 在一次呼叫中使用多个突变

我已经编写了第一个使用GraphQL的脚本(仍然是一个学习曲线) 目前我正在使用GraphQL打3个电话, 首先是产品查找, 二是价格更新,, 第三是库存更新 为了减少通话次数,我想合并价格更新和库存,但我运气不好,我不知道它的格式是否不好 这是我的GraphQL代码(我使用Postman来帮助确保模式正确无误,然后再将其转换为PHP) 变量: { "inventoryItemId": "gid://shopify/InventoryItem/XXXXXXXXXXX

@nestjs/graphql中的指令无效

我正在尝试添加一个自定义指令,使用代码优先的方法来遵循。现在,我使用完全相同的上限指令。但是,该指令似乎没有任何效果,代码也从未经过我的自定义函数 在app.module.ts中: GraphQLModule.forRoot({ autoSchemaFile:'src/schema.gql', buildSchemaOptions:{ dateScalarMode:“时间戳”, 图式纠正:{ upper:UpperCaseDirective,//无效 }, }, 图式纠正:{ upper:Upp

Graphql 在服务器-客户端应用程序中使用passport-google-oauth2身份验证

我有一个与mongodb数据库连接的TypeOrm/React应用程序,其中服务器位于端口4000,客户端位于端口3000。 在客户端上,我创建了文件googleAuth: import passport from 'passport'; import {User} from './entity/User'; const GoogleStrategy = require('passport-google-oauth20').Strategy; const googleOptions = {

Graphql 如何将apollo client fetchMore updateQuery转换为apollo缓存合并功能?

我正在学习apollo和graphQL,有一个显示数据列表的简单应用程序,还有一个添加到数组中的fetchMore函数 我想删除updateQuery,因为它已被弃用,并使用新的字段策略合并功能。当前缓存设置和更新程序如下所示: const cache = new InMemoryCache({ typePolicies: { client_client: { fields: { // add local only value to clients

Graphql 图形ql+;NestJS-如何在守卫中访问@Args?

我需要以某种方式从警卫内部的@Args访问objectId,以检查发件人是否将objectId分配给他的帐户。你知道我该怎么做吗 @Query(() => [Person]) @UseGuards(ObjectMatch) async pplWithObject(@Args('objectId') id: string): Promise<Person[]> { return await this.objService.getPeopl

在graphql中按时间过滤(使用faunaDB服务)

我的graphQL模式如下所示 type Todo { name: String! created_at: Time } type Query { allTodos: [Todo!]! todosByCreatedAtFlag(created_at: Time!): [Todo!]! } 这个查询有效 query { todosByCreatedAtFlag(created_at: "2017-02-08T16:10:33Z") { dat

Graphql 在prism项目中放置环境变量时出现的问题

我有一个使用prism的graphql项目,但在执行命令npx prisma deploy-e../config/dev.env时,我得到以下错误: post-deploy: [ "[WARNING] in D:\\Projetos\\graphql3\\graphql-prisma\\prisma\\prisma.yml: A valid environment variable to satisfy the declaration 'env:PRISMA_ENDPOINT' c

apollo graphql中的输入类型工作不正常

我使用apollo graphql创建新数据,并希望使用输入类型数据。 我找到了关于这个的文档,但是没有关于如何从解析器调用它的地方。 这是我的代码: const{ApolloServer,gql}=require('apollo-server'); var typeDefs=gql` 输入课程输入{ id:Int 标题:字符串 作者:String 描述:字符串 主题:字符串 url:String } 类型课程{ id:Int 标题:字符串 作者:String 描述:字符串 主题:字符串 url

使用graphql compose mongoose对graphql模式中的查询进行分组

我试图整理我的模式,以便将与某个实体相关的查询分组在一起。 我正在使用graphql compose mongoose从mongoose模型生成graphql模式 因此,我们的想法是转变: schemaComposer.Query.addFields({ entityById: EntityTC.getResolver("findById"), entityByIds: EntityTC.getResolver("findByIds"), en

Graphql 是否可以将订阅参数映射到输出处的数组?

我有一个理论问题。据我所知,订阅参数必须作为字段存在于变异的返回类型中。这意味着参数的类型也必须与变异返回对象中的字段类型相匹配。我说得对吗?假设我在变异响应中得到一个带有通道ID的数组。我只发送一个通道id作为订阅中的参数。是否可以将订阅参数映射到输出处的数组?如果阵列中存在通道id(字段channelsIds),则订阅必须有效。是否有可能将这种逻辑写入方案本身,或者在技术上是不可能的 GraphQL模式: schema { mutation: Mutation subscri

GraphQL:匿名查询使用变量,但未声明

我是GraphQL新手。我有一个查询,但它显示错误消息“变量被匿名查询使用,但未声明” 我做错了什么,能得到一些帮助吗 谢谢 错误是正确的。你的问题是 { customers(first: 1, query: $input) { edges{ node { addresses{ id } } } } } 而且,$input确实没有声明,因此GraphQL不知道它应该是什么,也不知道如何将它与

Graphql 检查给定类型是否具有名为X的属性。减少内联片段

我有一个获取一些事件数组的查询。边内的每个节点都可以实现有限数量的接口 问题: 是否可以检查给定节点是否具有名为X的属性(在本例中为id、timestamp和content),而不是使用多个内联片段({Type}) 在这个例子中,我想去掉。。。在类型1上,。。。在Type2上,只需检查id、时间戳和内容属性是否存在。这里有两个答案取决于您试图实现的目标,但简短的答案是否定的:您不能根据读取的值有条件地传播片段 但是,您可以做的是检查接口本身。您提到这些节点都实现接口。所以我假设这些节点要么都实现

Graphql 中继抱怨片段变量,但没有一个片段有变量

我正在学习接力,我让它工作了,但有时感觉它是偶然的:) 如果我在这里犯了初学者的错误,我很抱歉,我已经阅读了手册和所有的例子,但我似乎无法完全理解 不管怎样,我现在有以下问题 我的模式如下所示: { viewer(token:$anAuthToken) { actor { id, email, ... } } } 所有数据都在{viewer}下访问,它负责身份验证。演员领域只是众多领域中

Graphql 如何平面化查询结果?

通过一个示例,使其易于理解 查询查看器信息: query { viewer { followers { totalCount } following { totalCount } } } 结果是: { "data": { "viewer": { "followers": { "totalCount": 131 }, "following": { "to

具有多个参数的graphqljs解析器

我试图找出编写一个对多个参数进行过滤的解析器的最佳方法。我有以下graphql类型 const userQuery = new GraphQLObjectType({ name: 'Query', fields: { Users: { type: new GraphQLList(User), args: { userId: { type: GraphQLString }

是否可以使用graphql多次查询同一字段

我要做的是使用不同的参数多次查询特定字段。这在GraphQL中可能吗 大概是这样的: query { myItem(size: 100, type: 2) { id, name } myItem(size: 150, type: 2) { id, name } myItem(size: 10, type: 1) { id, name } } 是的,这是

GraphQL错误:应为GraphQL命名类型,但得到:{}

我有两个自定义graphql类型entityType和containerType,其中一个容器可以有多个实体 因此,我通过以下代码将所有实体与其各自的容器绑定: const graphql = require('graphql') const _ = require('lodash') const UserType = require('./userSchema') const ContainerType = require('./containerSchema') const Contai

将片段从GraphQL文件导入另一个GraphQL文件无效

我正试图通过使用.graphql文件和传递变量对空手道进行测试。在我的graphql模式中,我试图重用另一个.graphql文件中的片段。我尝试按照上的解释进行操作,但当我在.graphql文件上使用#import语句运行空手道测试时,测试失败,因为片段未知 FindProfile.feature @smoke Feature: Test GraphQL FindTrendingProfiles Background: * url 'https://192.168.0.

从strapi上的graphql响应中筛选敏感数据

在我的模型中有一些信息,应该只对某些用户可见。如何更改GraphQL响应,以确保没有任何可感知的数据泄漏到服务器 通过覆盖模型控制器中的find方法,我取得了部分成功。我可以更改/删除如下字段: async find(ctx) { let entities; if (ctx.query._q) { entities = await strapi.services.article.search(ctx.query); } else { entit

Graphql 在标记文件中使用frontmatter在页面查询中查询图像

我正在盖茨比项目中使用GraphQL。我有一组标记文件,用于该站点类似博客的部分。在每个标记文件的前端,都有一个image属性 我想做的是使用盖茨比的精细图像api在frontmatter中加载图像。当查看单个帖子(通过createPage api创建的帖子)时,这很好,因为我可以在上下文中提供frontmatter.image。下面是该查询的外观 export const pageQuery=graphql` 查询($slug:String!,$image:String){ markdownR

Apollo GraphQL在触发具有不同变量的相同查询时取消查询

tl;dr:我想在重新启动同一个查询时取消正在进行的查询,尽管变量不同,以便只显示最近查询的结果 在我的应用程序中,有一个搜索查询,其中有各种不同的过滤器作为变量。当用户更改其中一个过滤器时,搜索将自动重新启动。因此,如果用户连续更改多个过滤器,搜索查询将被触发多次 从逻辑上讲,我只希望最新查询的结果生效。然而,通常发生的情况是,第一个查询的结果通常首先返回,然后在第二个查询之后,最新的查询的结果通过并更新数据。在更糟糕的结果中,有时第一个查询的结果可能比最近的查询的结果花费更长的时间,在这种情

相同的查询定义,但在graphql中具有不同的响应

我用的是react和apollo 我在一个文件中做了一个查询 query1.graphql query User($pk: Int!) { user(pk: $pk) { id email name userType ... } } 现在,在代码的另一个地方,我只想请求一个字段 query2.graphql query User($pk: Int!) { user(pk: $pk) {

如何在GatsbyJS的React组件中使用GraphQL中的数据

我正在尝试查询特定类别标题,并在div中返回它。它会显示以下错误消息: TypeError:无法访问属性“node”,data.edges未定义 这是我的档案: 从“React”导入React 从“盖茨比”导入{graphql,useStaticQuery} 从“样式化组件”导入样式化 从“./styles/TextStyles”导入{H3,BodyMain} 导出默认函数CategorySection(){ 常量数据=useStaticQuery(graphql` 查询类别查询{ allGra

Graphql 什么是「;“合并”;GraphiQL中的按钮?

GraphiQL UI中的Merge按钮的用途是什么。它似乎在做与“美化”按钮相同的事情 请提供一个示例使用合并按钮对已定义片段的查询进行展平。 它不同于保留原始查询但只是缩进查询的Prettify 使用GraphiQL netify演示模式,以下查询被“美化” 单击合并按钮时,结果如下: { test { person { name age friends { name } } } } 要观看上述内容的现

  1    2   3   4   5   6  ... 下一页 最后一页 共 27 页