草庐IT

graphql-tools

全部标签

javascript - GraphQL - 如何响应不同的状态码?

我在使用Graphql和ApolloClient时遇到了问题。我在使用REST时总是创建不同的响应,例如401代码,但在这里我不知道如何做类似的行为。当我得到响应时,我希望它转到catch函数。我的前端代码示例:client.query({query:gql`queryTodoApp{todos{idtextcompleted}}`,}).then(data=>console.log(data)).catch(error=>console.error(error));谁能帮帮我? 最佳答案 在GraphQL中(至少在graphql-

javascript - 如何在没有循环依赖的情况下拆分 GraphQL 中的模式?

我的问题类似于JavascriptcirculardependencyinGraphQLcode但我的问题不在结构和数据库级别,而是在javascript(ES6)中。我的模式定义越来越大,但我看不出在哪里可以将文件切割成碎片。根据不同的对象类型进行切割似乎是合乎逻辑的,但这会导致循环依赖,类似于这个非常简化的非工作示例://--fileA.jsimport{bConnection,getBs}from'B';exportclassA{/*...*/};exportvargetA=(a)=>{/*...*/};exportvargetAs=(array_of_as)=>{/*...*/

javascript - 将 graphQL 片段添加到模式,并可用于所有查询

以下在graphiQL中正确执行fragmentBookGridFieldsonBook{_idtitle}{allBooks{...BookGridFields}}我的问题是,可以在我的模式中指定片段,就在我的Book类型定义的下方,就像这样typeBook{_id:Stringtitle:Stringpages:Intweight:Floatauthors:[Author]}fragmentBookGridFieldsonBook{_idtitle}这样我就可以像这样运行查询{allBooks{...BookGridFields}}无需将片段定义为查询的一部分。目前上面的错误与Un

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 - 隐藏 chrome 扩展 : in "Developer Tools" Scripts tab

当我在Chrome中调试javascript代码时,我使用开发人员工具中的“脚本”选项卡。在脚本列表(下拉列表)中,很多扩展都列在这个表单中:chrome-extension://lfhsdjklfhaslkfhuwklshdfjkash/path/to/script.jschrome-extension://lfhsdjklfhaslkfhuwklshdfjkash/path/to/another/script.js等等我有大约20-30行这样的行,当我只想查看自己的脚本时,这非常烦人。是否可以隐藏这些行但保留当前网页中的脚本? 最佳答案

javascript - 在 Chrome Dev Tools 中停用和禁用断点有什么区别

Chrome(版本23.0.1271.101)。我在OSX上,如果这很重要的话。为什么Chrome可以禁用和/或停用断点?是否有一些我不知道的用电情况?我已经注意到我可以禁用一些断点,然后停用所有断点。重新激活它们后,相同的已禁用的将被禁用。除此之外,拥有这两个选项的目的是什么? 最佳答案 DeactivateBreakpoints关闭断点功能。DisableAllBreakpoints是将每个断点标记为已禁用的快捷方式。当您比较启用所有断点和激活断点时,差异会变得更加明显。可以通过每个断点旁边的复选框启用或禁用各个断点。Disab

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

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