Questions tagged «graphql»

GraphQL是一种API技术,旨在描述现代Web应用程序的复杂,嵌套数据依赖性。通常认为它是SOAP或REST的替代方法

10
GraphQL和微服务架构
我试图了解GraphQL在微服务体系结构中最适合使用的地方。 关于仅使用1个GraphQL模式作为API网关将请求代理到目标微服务并强制其响应的问题,存在一些争论。微服务仍将使用REST / Thrift协议进行通信。 相反,另一种方法是每个微服务具有多个GraphQL模式。拥有一个较小的API网关服务器,该服务器使用请求的所有信息+ GraphQL查询将请求路由到目标微服务。 第一种方法 具有1个GraphQL架构作为API网关将具有一个缺点,即每次您更改微服务合同的输入/输出时,我们都必须在API网关侧相应地更改GraphQL架构。 第二种方法 如果每个微服务使用多个GraphQL架构,则以某种方式有意义,因为GraphQL会强制执行架构定义,并且使用者将需要尊重微服务提供的输入/输出。 问题 您是否认为GraphQL适合设计微服务架构? 您如何设计具有可能的GraphQL实现的API网关?

6
Falcor和GraphQL有什么区别?
GraphQL由类型系统,查询语言和执行语义,静态验证和类型自省组成,下面分别概述。为了指导您完成所有这些组件,我们编写了一个示例,旨在说明GraphQL的各个部分。 - https://github.com/facebook/graphql Falcor允许您通过虚拟JSON图将所有远程数据源表示为单个域模型。无论数据位于何处,无论是在客户端的内存中还是在服务器的网络中,都可以用相同的方式进行编码。 - http://netflix.github.io/falcor/ Falcor和GraphQL(在Relay的情况下)有什么区别?
163 graphql  relayjs  falcor 

6
如何在不编写长查询的情况下查询所有GraphQL类型字段?
假设您具有GraphQL类型,并且其中包含许多字段。如何在不写下包含所有字段名称的长查询的情况下查询所有字段? 例如,如果我有这些字段: public function fields() { return [ 'id' => [ 'type' => Type::nonNull(Type::string()), 'description' => 'The id of the user' ], 'username' => [ 'type' => Type::string(), 'description' => 'The email of user' ], 'count' => [ 'type' => Type::int(), 'description' => 'login count for the user' ] ]; …

7
Nodemon错误:达到文件监视程序数量的系统限制
我正在学习graphql并prisma-binding用于graphql操作。我在nodemon启动节点服务器时遇到了此错误,它为我提供了模式文件的路径,该文件由a自动生成graphql-cli。谁能告诉我这个错误是什么意思? 错误: Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/media/rehan-sattar/Development/All projects/GrpahQl/graph-ql-course/graphql-prisma/src/generated
102 node.js  graphql  nodemon 

6
GraphQL有什么缺点吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 12个月前关闭。 改善这个问题 关于GraphQL的所有文章都将告诉您它的美妙之处,但是它有什么缺点或缺点?谢谢。

1
在GraphQL中,“ edges”和“ node”是什么意思?
我正在使用一个特定的GraphQL端点,尽管我提供了一个干净的JSON结构作为查询,但是当我得到结果时,我得到了“ edges”和“ node”标签。似乎正在污染我的数据,没有明显的好处。为什么要在那里,有没有可能摆脱这些而更快,更简单地解析数据?
100 graphql 

2
GraphQL中输入类型的意义是什么?
您能解释一下为什么如果突变的输入参数是对象,那么它应该是输入类型吗?我认为更简单的只是重用类型而不提供id。 例如: type Sample { id: String name: String } input SampleInput { name: String } type RootMutation { addSample(sample: Sample): Sample # <-- instead of it should be addSample(sample: SampleInput): Sample } 小型对象没关系,但是当架构中有大量具有10个以上属性的对象时,这将成为一种负担。
83 graphql 

2
如何在Jest中正确使模拟抛出错误?
我正在使用Jest测试我的GraphQL API。 我为每个查询/突变使用单独的测试服 我有2个测试(每个测试都在单独的测试服中),其中我模拟了一个callMethod用于突变的函数(即Meteor's )。 it('should throw error if email not found', async () => { callMethod .mockReturnValue(new Error('User not found [403]')) .mockName('callMethod'); const query = FORGOT_PASSWORD_MUTATION; const params = { email: 'user@example.com' }; const result = await simulateQuery({ query, params }); console.log(result); // test logic expect(callMethod).toBeCalledWith({}, 'forgotPassword', { email: …

14
如何通过邮递员发送graphql查询?
我用 POST type URL http://######/graphql Body: query: "query: "{'noteTypes': {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}" 但是它返回 “ message”:“必须提供查询字符串”。
79 graphql  postman 

5
Firebase和GraphQL [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 是否有人对GraphQL和Firebase有任何经验?我想一个将firebase调用放置在相关字段的解析器中,并将一些变量从组件的props传递到查询的参数中。 我们如何使用GraphQL在Firebase中插入新数据?

10
获取GraphQL整个架构查询
我想从服务器获取架构。我可以获取具有类型的所有实体,但是无法获取属性。 获取所有类型: query { __schema { queryType { fields { name type { kind ofType { kind name } } } } } } 如何获取类型的属性: __type(name: "Person") { kind name fields { name type { kind name description } } } 如何仅通过1个请求即可获得具有属性的所有类型?或更妙的是:我如何获得带有变异子,枚举,类型的整个架构...
72 schema  graphql 

1
使用React-Apollo Use处理错误
我一直在努力解决这个问题,但没有找到一个强有力的答案。我正在尝试使用useMutation挂钩执行登录突变。 TLDR;我想知道传入的onError选项与useMutation给我的错误之间到底有什么区别 这是我的代码段 const [login, { data, loading, error }] = useMutation(LOGIN_QUERY, { variables: { email, password }, onError(err) { console.log(err); }, }); 在服务器端,我有一个用于登录的预设/硬编码电子邮件,并且我没有使用Apollo或任何其他客户端。在此登录突变的解析器中,如果使用的电子邮件不相同,我只会抛出一个错误 throw new Error('Invalid Email'); 现在,我想在客户端上处理此错误(反应)。但是我担心的是,如果我使用useMutation钩子返回的“错误”并尝试以这种方式显示错误 render() { ... {error && <div> Error occured </div>} ... } 该错误已在UI中更新,但随后React迅速向我显示了一个屏幕,显示未处理的拒绝(错误):Graphql错误:My-custom-error-message 但是,如果我使用onError传递给useMutate函数的选项,那么它不会向我显示此屏幕,并且我可以对错误进行任何处理。 我想知道究竟是由useMutation给我?为什么做出反应告诉我,错误画面时onError的选项和错误通过的onError之间的差异不使用。 谢谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.