GitHub V4 GraphQL API with Java 使用一些 GraphQL Java 库(如果可用)

Posted

技术标签:

【中文标题】GitHub V4 GraphQL API with Java 使用一些 GraphQL Java 库(如果可用)【英文标题】:GitHub V4 GraphQL API with Java using some GraphQL Java library (if available) 【发布时间】:2018-08-25 17:58:44 【问题描述】:

对于 API 的 V3 版本,我在 *** 上发现了很多问题。 https://developer.github.com/v3/libraries/ 也有可用的库。

我宁愿使用 V4 api,因为我打算对 simplegraph 开源项目进行集成,请参阅https://github.com/BITPlan/com.bitplan.simplegraph/issues/5

到目前为止,对于 V4 API,我找到了以下链接:

https://developer.github.com/v4/explorer/ https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint https://api.github.com/graphql https://***.com/questions/tagged/graphql-java https://github.com/graphcool/get-graphql-schema https://developer.github.com/v4/guides/forming-calls/#example-query https://www.howtographql.com/graphql-java/1-getting-started/ http://graphql-java.readthedocs.io/en/v7/schema.html https://github.com/graphql/graphql-js/issues/657

它看起来像这样一个 Schema 定义的起点:

https://github.com/graphql-java/graphql-java/blob/master/src/test/groovy/graphql/StarWarsSchema.java

会有帮助的。

我在哪里可以获得 github V4 api 的 graphql-java 可用架构定义?

是否有可能从 Json 的响应中以某种方式创建这个

query 
  __schema 
    types 
      name
      kind
      description
      fields 
        name
      
    
  

查询?

http://wiki.bitplan.com/index.php/GitHub-GraphQL 我正在记录我的后续步骤。

【问题讨论】:

我不明白你在问什么...你想在 graphql-java 中复制 GitHub 的架构吗?或者您正在寻找使用 GitHub API 的客户端库? 我想使用来自 Java 的 GitHub API V4,并假设 graphql-java 可能是一个可用的工具。目前我完全迷失了,因为这些文档对我来说大多是希腊语(或者可能是古埃及语)。 不知道为什么,但从字面上看,似乎没有人在寻找客户时使用 client 这个词...无论如何,请参阅我的选项答案 -java 表示 java 世界中的客户端。 -server 表示服务器。 【参考方案1】:

那你看错了工具。 graphql-java 是 GraphQL 规范的一个实现。它用于在 Java 中开发 GraphQL 服务器。

您正在寻找的是客户。目前只有 2 个可用,不是很好,但可能可用。

Apollo android - 不要被这个名字吓跑,它完全可以从普通 Java 中使用

Shopify's Java gen - 从给定模式生成 Java 客户端,类似于 wsdl2java。需要 Ruby。

【讨论】:

感谢您指出这一点。事实上,我想完全避免任何编译/静态代码。 @WolfgangFahl 我很困惑。然后,您正在寻找一个通用的 HTTP 客户端?您通过 HTTP 发送查询并返回 JSON。 见github.com/BITPlan/com.bitplan.simplegraph/blob/master/… - JsonSystem 已经可以做到这一点。在创建查询时,我现在需要选择适应特定模式的选项。【参考方案2】:

这里:https://github.com/octokit/graphql-schema/blob/master/schema.graphql 是 GitHub v4 API 架构。您可以将此模式与 graphql-java 库一起使用。

【讨论】:

以上是关于GitHub V4 GraphQL API with Java 使用一些 GraphQL Java 库(如果可用)的主要内容,如果未能解决你的问题,请参考以下文章

使用 github API v4 graphQL 获取提交更改的文件和补丁

通过 Github Graphql v4 API 列出所有用户

GraphQL 复杂 cURL 查询(GitHub API v4)

Github Automerge 失败通知(API v4 GraphQL 变异 enablePullRequestAutoMerge)

如何将 Github API v4 (graphql) 与 javascript XMLHttpRequest 一起使用

GitHub API v4:如何使用分页进行遍历? (GraphQL)