Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从GraphQL消费GitHub?

如何从GraphQL消费GitHub?
EN

Stack Overflow用户
提问于 2018-03-16 18:18:47
回答 1查看 2.2K关注 0票数 5

我想从Java语言中使用GitHub,但经过广泛的搜索,我没有找到一个库或其他解决方案,可以让我以一种简单易用的方式做到这一点。

官方文档也没有详细说明如何做到这一点。

如何使用GitHub的v4接口?我想基于API本身生成代码,这样我就可以以编程的方式使用它。

EN

回答 1

Stack Overflow用户

发布于 2019-03-08 16:02:17

我建议你尝试一下开源的失眠症。它使您能够从您的GraphQL查询自动生成Java代码,以供OkHttp库使用。

例如:

以下graphQL查询...

代码语言:javascript
运行
AI代码解释
复制
query GetIssues($client: String!
                             ) {
  organization(login: $client) {
    name
    repositories(last: 10) {
      edges {
        cursor
        node {
          name
          url
          description
        }
      }
    }
  }
}

...will生成以下Java代码片段...

代码语言:javascript
运行
AI代码解释
复制
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/graphql");
RequestBody body = RequestBody.create(mediaType, "{\"query\":\"query GetIssues($client: String!) {\\n  organization(login: $client) {\\n    name\\n    repositories(last: 10) {\\n      edges {\\n        cursor\\n        node {\\n          name\\n          url\\n          description\\n        }\\n      }\\n    }\\n  }\\n}\\n\",\"variables\":{\"client\":\"AniTrend\"},\"operationName\":\"GetIssues\"}");
Request request = new Request.Builder()
  .url("https://api.github.com/graphql")
  .post(body)
  .addHeader("authorization", "Bearer YOU_BEARER_AUTH_HERE")
  .build();

Response response = client.newCall(request).execute();

然后,如果您在查询中使用您所知道的关于GraphQL变量的知识,并将其与您所知道的Java变量相匹配,那么您应该能够修改RequestBody字符串。这是一个简单而肮脏的解决方案,有很多改进的空间,这也是我目前正在探索的。当我开发一个更健壮的解决方案时,我将重新考虑这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49327249

复制
相关文章
Github GraphQL API - Data Integration
See @octokit/request for full documentation of the .request method.
szhshp
2022/09/21
3180
【Graphql实践】使用 Apollo(iOS) 访问 Github 的 Graphql API
最近在协助调研 Apollo 生成的代码是否有可能跨 Query 共享模型的问题,虽然初步结论是不能,并不是预期的结果,但是在调研过程中积累的一些经验,有必要记录下。如果你也对 Graphql 感兴趣,不妨先从 Github 的 Graphql API 来切手实践。
ios122
2018/07/31
1.5K0
从Rest到Graphql
这时候前端MM拿到这个结果后,傻了眼!这里怎么能直接返回author_id呢,难道直接把author_id显示在界面上么?不可能啊,界面上要显示的是author_name才行!
用户6884826
2021/07/08
5771
GraphQL 从入门到实践
本文首先介绍了 GraphQL,再通过 MongoDB + graphql + graph-pack 的组合实战应用 GraphQL,详细阐述如何使用 GraphQL 来进行增删改查和数据订阅推送,并附有使用示例,边用边学印象深刻~
前端下午茶
2019/06/27
2.6K0
GraphQL 从入门到实践
从大数据看高温消费如何变化
高温也能引起消费变动,还不是一般的变动哦~ 内容来源:天下网商
灯塔大数据
2018/04/10
7150
从大数据看高温消费如何变化
GraphQL 浅谈,从理解 Graph 开始
前言 GraphQL is a data query language developed internally by Facebook in 2012 before being publicly released in 2015. It provides an alternative to RESTful architectures. —— from wikipedia. GraphQL 是 Facebook 于 2012 年在内部开发的数据查询语言,在 2015 年开源,旨在提供 RESTful 架构体
企鹅号小编
2018/01/15
1.5K0
GraphQL 浅谈,从理解 Graph 开始
Slice如何从网络消费数据中获得商机
和大多人一样,斯科特·布雷迪(Scott Brady)通过谷歌购物(Google Shopping)和亚马逊生鲜(Amazon Fresh)等各种网站,从网上购买的东西越来越多。 但即使亚马逊已创立近20年,对购买者是谁、购买了什么产品、怎样购买和购买原因的追踪,依然很难筛选出一个结果来。我们对消费者行为到底都了解些什么?多数消费者行为都是从小规模消费者群体推断、预测或推测的。当市场营销人员从数据经纪商处购买信息时,很多信息都陈旧不堪或者不完整。 这就是布雷迪的网购数据分析公司Slice为何如此激发人兴趣的
大数据文摘
2018/05/23
1.6K0
GraphQL(一):GraphQL介绍
GraphQL是facebook开源的一套数据交互方案,它并非某种具体的语言或者框架,它只是提供了一套解决方案,这套解决方案通过GraphQL规范进行定义,不同语言可以有自己的GraphQL实现,目前已经有很多语言完成了GraphQL的实现,可以在这里查看。
辉哥
2021/11/24
1.4K0
GraphQL(一):GraphQL介绍
GraphQL[0x01] -- GraphQL基础实践
GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。它由Facebook开发和开源,强烈地表达了代码即文档的期望。能够精确有效地得到数据,没有冗余。
江涛学编程
2020/06/19
9210
GraphQL[0x01] -- GraphQL基础实践
GraphQL[0x01] -- GraphQL基础实践
GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。它由Facebook开发和开源,强烈地表达了代码即文档的期望。能够精确有效地得到数据,没有冗余。
winty
2020/03/02
7450
GitHub 如何从特定的版本中创建分支
在 Git 的操作中,我们可能需要从特定的版本中创建分支。 首先需要的第一步是活的当前项目的提交历史列表。 然后在特定的版本后,选择 <> 标记,进入这个版本的提交历史。 在左上角上,选择提交历史。 在弹出的对话框中输入分支名称。 在你输入名称后,将会提示你创建分支。 这个的意思是从当前的提交版本中创建一个分支。 然后可以从上面的提交中创建一个分支。 在创建完成后,可以从分支列表中查看创建的分支列表。 https://www.ossez.com/t/github/13414
HoneyMoose
2021/04/02
7K0
GitHub 如何从特定的版本中创建分支
GraphQL(二):GraphQL服务搭建
在GraphQL(一):GraphQL介绍中讲到目前已经有很多平台完成了GraphQL实现,这里以Java平台为例,介绍GraphQL服务的搭建。
辉哥
2021/11/24
1.2K0
GraphQL
Fielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史。它的简单易用性,可扩展性,伸缩性受到广大Web开发者的喜爱。
ruochen
2021/11/25
2.7K0
如何在纯 JavaScript 中使用 GraphQL
除了 REST 以外,很多 API 都开始支持 GraphQL,甚至完全支持它了。但是,如果你需要使用一个 GraphQL API,你很自然就会想到自己需要使用 React 和 / 或其他一些库才能让它跑起来。这是因为许多教程和示例代码似乎都基于这样一个假设,也就是说如果你在使用 GraphQL,就需要使用这些库。
深度学习与Python
2021/02/05
3.6K0
如何优雅地扩展GraphQL系统能力
GraphQL 可将 API 表示的数据通过解析函数映射到 GraphQL 的 schema 中,为 API 提供一套类型化的完整描述,使得客户端能够根据所需准确地获取相应数据。
深度学习与Python
2021/10/28
1.3K0
如何优雅地扩展GraphQL系统能力
GraphQL
本文第一部分翻译自REST 2.0 Is Here and Its Name Is GraphQL,标题很有视觉冲击力,不小心上钩了
ayqy贾杰
2019/06/12
1.5K0
GraphQL
GraphQL
可怕的不是外貌的丑陋,而是无法与人亲近的内心空虚——科恩 官网:https://graphql.org/ graphql是一个API的查询语言,可以理解为一个规范 正如它官方文档宣传的那样: 定义你的数据规范(数据类型) Describe your data type Project { name: String tagline: String contributors: [User] } 描述你想干什么(查询) Ask for what you want { project(na
阿超
2022/09/29
5010
GraphQL
记一次通过c#运用GraphQL调用Github api
  最近在折腾使用Github api做个微信小程序练练手,本篇文章就是在这个过程中记录。
Zachary_ZF
2018/09/10
1.3K0
GraphQL入门
mkdir graphqljs cd graphqljs npm init npm install --save graphql touch hello.js 编辑hello.js var { graphql, buildSchema } = require('graphql'); var schema = buildSchema(` type Query{ hello:String }`); var root = { hello: () => 'Hello world!' }; gr
lilugirl
2022/03/24
5130
GraphQL详解
产品需求增加,页面需要增加功能,数据也就相应的要增加显示,那么REST接口也需要做增加,这种无可厚非。
大发明家
2021/12/17
2.6K0

相似问题

用rails消费GraphQL

14

从repositoryOwner GitHub GraphQL获取数组

10

如何从GitHub查询GraphQL项目项标题?

119

GraphQL联盟:如何消费,而不是扩展

14

GraphQL Github格式

28
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档