jjzjj

javascript - 如果我在 Apollo Client 中使用 dataIdFromObject 设置了唯一标识符,是否需要 graphql 的 ID 类型

我正在使用graphql+mysql+react-apollo,这是User表的一种gr​​aphql类型:typeUser{id:ID!name:String!}我在graphql中对ID标量类型的问题是,当主键在mysql中为int时,它作为字符串返回,并且它有使用typescript在前端创建了一些类型冲突。鉴于我已经为ApolloClient中的每个对象设置了带有dataIdFromObject的唯一标识符,我是否可以根本不使用ID标量类型:import{InMemoryCache}from'apollo-cache-inmemory';constapolloMemoryCac

javascript - 在一个请求中接受一组动态大小和常见标量类型的 GraphQL 突变

我需要能够在单个请求中创建一个用户并添加它最喜欢的电影(一个对象数组,引用了Movies集合和他对每部电影的个人评分)。看起来像这样的东西(伪代码)varexSchema=`typeMutation{addUser(name:String!favMovies:[{movie:String!#reftomoviescollpersonal_rating:Int!#thisisdifferentforeverymovie}]):User}...`在单个请求中执行此操作的graphql方法是什么?我知道我可以通过多个突变/请求来实现结果,但我想一次性完成。 最佳答

javascript - 如何为 Gatsby 提供 GraphQL 模式

我们从Wordpress后端引入了一些帖子,有些有图片(在ACF字段中),有些没有。问题是Gatsby根据它接收到的第一个节点来推断模式。如果它接收到一个没有图片的节点,那么schema是错误的。WheredoesGatsby’sGraphQLschemacomefrom?WithGatsby,weusepluginswhichfetchdatafromdifferentsources.WethenusethatdatatoautomaticallyinferaGraphQLschema.我们如何为GraphQL/Gatsby指定一个始终包含图片的模式,如果它是空白的,则将“null”

javascript - GraphQl 中的动态(唯一)对象

我在看graphql。是否可以定义具有任意属性的对象?假设我有一些数据,例如:editOptions:{boxes:3,size:{width:23,height:32},color:#434343},etc...}这是在:{...,box:{editOptions:{...}},...}假设editOptions永远不会具有相同的结构,有时拥有颜色也没有用,只是为了举例。在mongoose中,可以将类型定义为类似以下内容:editOptions:{}这些editOptions通常对于每个框都是唯一的。有些属性是共享的,但大多数是独一无二的。所以我的问题是,有没有办法做到这一点?或者这

javascript - 将自定义 header 添加到 apollo 客户端轮询请求

我正在使用apollo-client库从我的Graphql服务器查询数据。通过apollo轮询功能,每5秒向服务器发送一些查询。是否有一种通用方法可以将自定义header添加到我的轮询客户端发送的所有请求中? 最佳答案 两种解决方案有两种方法可以做到这一点。一种是快速简便,适用于有一定限制的特定查询,另一种是通用解决方案,更安全,适用于多个查询。快速简便的解决方案优势很快而且……简单当您配置查询时,您可以使用其options字段对其进行配置,该字段有一个context字段。context的值将由网络链处理。context本身不会发送

javascript - 错误 : Network error: Error writing result to store for query (Apollo Client)

我正在使用ApolloClient创建一个应用程序来使用Graphql查询我的服务器。我有一个python服务器,我在其上执行我的graphql查询,该查询从数据库中获取数据,然后将其返回给客户端。我为客户端创建了一个自定义的NetworkInterface,它可以帮助我发出自定义的服务器请求(默认情况下,ApolloClient对我们指定的URL进行POST调用)。网络接口(interface)只需要有一个query()方法,我们在其中返回对Promise形式结果的promise。.我能够调用服务器并获取请求的数据,但仍然出现以下错误。Error:Networkerror:Error

javascript - 使用中继进行身份验证和访问控制

Facebook的官方说法是Relay是“intentionallyagnosticaboutauthenticationmechanisms”。在Relay存储库中的所有示例中,身份验证和访问控制是一个单独的问题。在实践中,我还没有找到实现这种分离的简单方法。Relay存储库中提供的示例都具有根架构,其中包含一个假定只有一个用户的viewer字段。该用户可以访问所有内容。然而,在现实中,一个应用程序有很多用户,每个用户对每个节点都有不同程度的访问权限。假设我在JavaScript中有这个模式:exportconstSchema=newGraphQLSchema({query:newG

javascript - Relay/GraphQL 上的身份验证和权限

Facebook没有提及其GraphQL库的身份验证。假设我有一个可从GraphQL获取的用户表,并且我不希望将用户信息透露给任何需要它的人,除了登录用户,我应该在什么级别添加身份验证层?在模式级别通过改变“登录”状态?或者可能通过将额外的参数传递给目前只接受query和schema的graphql函数? 最佳答案 可以将带有token的身份验证header添加到您的GraphQL查询中。vartoken=localStorage.getItem('id_token');Relay.injectNetworkLayer(newRel

javascript - GraphQL:不可为空的数组/列表

我现在正在学习GraphQL,在浏览教程时遇到了我无法理解的行为。假设我们在模式中定义了类型:typeLink{id:ID!url:String!description:String!postedBy:Uservotes:[Vote!]!}由于文档votes:[Vote!]!意味着该字段应该是不可空的,数组本身也应该是不可空的。但就在该教程的作者展示了查询示例之后,对于某些链接,它为votes字段返回空数组。像这样:{"url":"youtube.com","votes":[]},{"url":"agar.io","votes":[]}所以我的问题是:“不可为空”在graphQL模式中

php - 如何在 GraphQL 中返回自定义错误

在使用GraphQL时,如何从我的Laravel项目的resolve函数中返回自定义错误?publicfunctionresolve($root,$args,$context,ResolveInfo$info){$objDefaultPage=FunnelTypeDefaultPage::where('id',$args['id'])->first();if(!$objDefaultPage){returnnull;//HereIwanttoreturnsomemessageinsteadofreturningnull}$objDefaultPage->update($args);re