GitHub V4 GraphQL API with Java using some GraphQL Java library (if available)

*爱你&永不变心* 提交于 2019-12-11 05:23:09

问题


For the V3 Version of the API I found quite a few questions here on Stackoverflow. There are also libraries available at https://developer.github.com/v3/libraries/.

I'd rather use the V4 api because I intend to do an integration for the simplegraph open source project see https://github.com/BITPlan/com.bitplan.simplegraph/issues/5

For the V4 API i found the following links so far:

  • https://developer.github.com/v4/explorer/
  • https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint
  • https://api.github.com/graphql
  • https://stackoverflow.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

It looks as a starting point a Schema definition like this one:

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

would be helpful.

Where can I get souch a graphql-java useable schema definition of the github V4 api?

Would it be possible to somehow create this from the Json response of the

query {
  __schema {
    types {
      name
      kind
      description
      fields {
        name
      }
    }
  }
}

query?

At http://wiki.bitplan.com/index.php/GitHub-GraphQL I am documenting my next steps.


回答1:


You're looking at the wrong tool then. graphql-java is an implementation of the GraphQL spec. It's used for developing GraphQL servers in Java.

What you're looking for is a client. There's currently only 2 available, neither great but likely usable.

  • Apollo Android - Don't let the name throw you off, it's perfectly usable from normal Java

  • Shopify's Java gen - Generates a Java client from the given schema, similar to wsdl2java. Requires Ruby.




回答2:


Here: https://github.com/octokit/graphql-schema/blob/master/schema.graphql is the GitHub v4 API schema. You can use this schema with graphql-java library.



来源:https://stackoverflow.com/questions/49324611/github-v4-graphql-api-with-java-using-some-graphql-java-library-if-available

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!