草庐IT

prisma-graphql

全部标签

c# - GraphQL 为 .net 开发做好准备

我发现GraphQL是一种诱人的选择,可以将前端开发与API分离(可能非常适合我们公司,该公司为每个客户进行大量API定制)。但是,我不太清楚它是否已准备好用于.NET开发环境,或者它是否仍被视为一项早期技术?我也不知道它背后是否有更大的问题(例如N+1问题)。在.NET实现中对GraphQL有任何经验和指导吗? 最佳答案 一个月后这里没有答案这一事实应该说明了它的故事。我已将关注点从.NETFramework转移到.NETCore,在试用了可用的.NET库后,我很快就选择了基于TypeScript构建的API网关和更成熟的Face

javascript - React、Apollo 2、GraphQL、身份验证。如何在登录后重新渲染组件

我有这个代码:https://codesandbox.io/s/507w9qxrrl我不明白:1)如何在以下之后重新渲染()Menu组件:this.props.client.query({query:CURRENT_USER_QUERY,fetchPolicy:"network-only"});如果我login()我希望我的Menu组件重新渲染()本身。但是什么也没有。只有当我点击Home链接时,它才会重新渲染()本身。我怀疑是因为我正在使用它来渲染它:在react-routerprops中拥抱它。有错吗?另外,如果在login()之后检查Menu的this.props,我会永远看到l

javascript - 从另一个突变调用 GraphQL 突变?

是否可以从一个突变中对另一个graphqlType运行一个突变?我不确定这是否是个好主意。理想情况下,最好为每种graphql数据类型创建突变,然后在需要时调用这些函数中的每一个。希望这能让事情变得更干燥。例如,我有2个graphql类型“项目”和“房间”。对于每个项目,都需要创建一个房间,并将ID放置在项目中以供以后引用。我看到了3种方法:从前端,运行2个不同的graphql查询(针对一个新项目和一个新房间),最后一个使用新房间ID更新项目。在后端/graphql服务器上。为简单起见,只需在一个解析函数内处理所有数据库调用,返回创建的项目和房间。在突变中运行突变。从项目创建函数调用房

javascript - 将变量传递给 Gatsby graphql 查询中的正则表达式

我有以下查询,它正在接收变量$tag。目前,我正在根据其frontmatter.keywords的值过滤结果。keywords是逗号分隔的字符串,所以我需要使用正则表达式来检查其中是否包含$tag,但是我不知道如何传递正则表达式中的变量。如果我将一个值硬编码到正则表达式中(如在下面的代码中我硬编码了/example/,则过滤有效。如果我将example替换为$tag我收到一个错误:GraphQLError:Variable"$tag"isneverusedinoperation"TagQuery".exportconstpageQuery=graphql`queryTagQuery($

javascript - 具有基于参数的动态字段的 GraphQL ObjectType

我们的情况是我们的GraphQL查询的响应必须返回对象的一些动态属性。在我们的例子中,我们无法预定义所有可能的属性-因此它必须是动态的。我们认为有两种解决方案。constMyType=newGraphQLObjectType({name:'SomeType',fields:{name:{type:GraphQLString,},elements:{/*THISisourspecialfieldwhichneedstoreturnadynamicobject*/},//...},});正如您在示例代码中看到的,元素属性必须返回一个对象。解决此问题时的响应可能是:{name:'somena

javascript - 如何从服务器执行 GraphQL 查询

我正在使用graphql-express创建一个端点,我可以在其中执行graphql查询。虽然我将Sequelize与SQL数据库一起使用,但直接从我的graphql之外的服务器使用它感觉不对resolve职能。如何从定义它的同一服务器查询我的graphqlAPI?这就是我设置graphql端点的方式:constexpress=require('express');constrouter=express.Router();constgraphqlHTTP=require('express-graphql');constgqlOptions={schema:require('./sche

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