问题标签 [graphql-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
341 浏览

java - How does graphql-java library execute Relay requests?

I use graphql-java library and I send a Relay request and I'm expecting a result(response) from the GraphQL server(implemented in java). How exactly does the GraphQL.execute() executes queries sent from Relay(queries are used with fragments) ? How should DataFetcher understand a Relay request?

0 投票
2 回答
3249 浏览

java - 为什么在这个 GraphQL 设置中没有调用 DataFetcher?

我想写一段代码,它将处理像这样的 GraphQL 查询:

我创建了一个数据获取器并在get方法中放置了一个断点:

然后我写了以下代码:

当我main在调试模式下运行该方法时,断点未激活。

为什么?我该如何解决?

0 投票
3 回答
2609 浏览

java - 将 bean 注入 GraphQL 的 DataFetcher

我在我的项目中使用Spring & graphql-java ( graphql-java-annotation )。对于检索数据部分,我使用 DataFetcher 从服务(从数据库)获取数据。

奇怪的是:myService总是null。有人知道原因吗?

数据提取器

架构

我的服务

主要测试

0 投票
1 回答
285 浏览

java - graphql-java-annotations:参数必须用@GraphQLName注解,否则会失败

如果我不添加@GraphQLName("name"),则无法正确识别方法!(版本:0.13.2)

0 投票
2 回答
1252 浏览

java - How to create GraphQL object with arguments?

Is it possible an object with arguments? In other words, can I create an object for running queries like this?

If yes, how?

I couldn't find a method for creating arguments in graphql.schema.GraphQLObjectType.newObject.

0 投票
3 回答
2279 浏览

java - 为什么我的 Spring 控制器不处理 GraphiQL 发送的 OPTIONS 请求?

我正在尝试使GraphQL Java 服务器与 GraphiQL 服务器一起工作。

使用在本地运行的 GraphiQL,我提交了一个带有以下参数的查询:

GraphiQL 查询及其结果

我的 Spring 控制器(从此处复制)如下所示:

理论上,executeOperation应该在我在 GraphiQL 中提交查询时调用。不是,我在控制台输出中看不到日志语句。

我在做什么错?MavenController.executeOperation当在 GraphiQL 中提交查询时,如何确保调用 ?

更新 1(13.01.2017 13:35 MSK):这是有关如何重现错误的教程。我的目标是创建一个基于 Java 的 GraphQL 服务器,我可以使用 GraphiQL 与之交互。如果可能的话,这应该在本地工作。

我已经读过,为了做到这一点,以下步骤是必要的:

  1. 设置 GraphQL 服务器。这方面的一个例子可以在这里找到https://github.com/graphql-java/todomvc-relay-java。该示例使用 Spring Boot,但您可以使用任何您喜欢的 HTTP 服务器来实现它。
  2. 设置 GraphiQL 服务器。这有点超出了这个项目的范围,但基本上你需要在上面的步骤 1 中让 GraphiQL 与服务器对话。它将使用自省来加载模式。

我检查了项目todomvc-relay-java,根据我的需要对其进行了修改并将其放入目录E:\graphiql-java\graphql-server中。您可以在此处下载包含该目录的存档。

第 1 步:安装 Node.JS

第2步

去那里E:\graphiql-java\graphql-server\appnpm install

第 3 步

npm start从同一目录运行。

第4步

去那里E:\graphiql-java\graphql-servergradlew start

第 5 步

运行docker run -p 8888:8080 -d -e GRAPHQL_SERVER=http://localhost:8080/graphql merapar/graphql-browser-docker

Docker 来源:graphql-browser-docker

第 6 步

在禁用 XSS 检查的情况下启动 Chrome,例如"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --args --disable-xss-auditor. 一些消息来源声称您必须杀死所有其他 Chrome 实例才能使这些参数生效。

第 7 步

在该浏览器中打开http://localhost:8888/ 。

第 8 步

尝试运行查询

{ allArtifacts(group: "com.graphql-java", name: "graphql-java") { group name version } }

实际结果:

1) Chrome控制台Fetch API cannot load http://localhost:8080/graphql. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8888' is therefore not allowed access. The response had HTTP status code 403. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.选项卡中的错误: .

中的错误

2) Chrome网络选项卡中的错误:

中的错误

更新 2 (14.01.2017 13:51):目前,CORS 在 Java 应用程序中的配置方式如下。

主类:

WebSecurityConfigurerAdapter子类:

控制器:

MavenController.executeOperation是当我在 GraphiQL 中发出查询请求时应该调用的方法。

更新3(15.01.2017 22:05):尝试使用CORSFilter,新的源代码在这里。没有结果,我仍然收到“无效的 CORS 响应”错误。

0 投票
1 回答
1684 浏览

graphql - GraphQL Java:使用@Batched DataFetcher

我知道如何从 datafetcher 中的服务中检索 bean

但是具有嵌套列表的模式应该使用 BatchedExecutionStrategy 并使用带有注解 @Batched 的 get() 方法创建批处理 DataFetchers(请参阅 graphql-java 文档)。

但是我应该把我的 getData() 调用放在哪里呢?

0 投票
2 回答
6846 浏览

java - 动态生成 GraphQL 模式支持

是否可以动态创建 GraphQL 模式?

我们将数据存储在 mongoDB 中,并且有可能添加新字段。我们不希望 mongoDB 文档中这个新添加的字段发生任何代码更改。

有什么方法可以动态生成模式?

Schema 是在代码中定义的,但是对于 java(schema as pojo),当添加新属性时,您必须更新并重新编译代码,然后再次归档和部署 jar。有什么方法可以通过数据生成架构而不是预先定义它?

目前我们正在使用java相关项目(graphql-javagraphql-java-annotations)进行 GraphQL 开发。

0 投票
2 回答
645 浏览

graphql - Java GraphQL 注释:指定列表字段

如何在 java-graphql-annotations 框架中指定列表字段?不幸的是,我找不到任何有关指定列表字段的文档。

此示例产生错误:

异常堆栈跟踪:

0 投票
1 回答
258 浏览

graphql - graphql-java:对象定义可以同时是 GraphQLObjectType 和 GraphQLInputObjectType

我正在使用graphql-java. 我有自定义对象,例如:(MyObject其中有一些字段......)。

请求是我想将它用作另一个突变对象中的参数。而且我不想定义它两次GraphQLObjectType& GraphQLInputObjectType)。

可以做到吗?怎么做?谢谢

  • GraphQLObjectType

    /li>
  • GraphQLInputObjectType

    /li>