1

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:

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

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.

Wolfgang Fahl
  • 15,016
  • 11
  • 93
  • 186
  • I don't understand what you're asking... Are you looking to replicate GitHub' schema in graphql-java? Or are you looking for a client library to consume GitHub API? – kaqqao Mar 16 '18 at 17:27
  • I would like to use GitHub API V4 from Java and was assuming graphql-java could be a useable tool for that. For the time being I am completly lost since the docs are mostly greek (or maybe ancient egypt) to me. – Wolfgang Fahl Mar 16 '18 at 17:43
  • Not sure why, but literally no one seems to use the word _client_ when looking for a client... Anyway, see my answer for options – kaqqao Mar 16 '18 at 17:50
  • -java means client in the java world. -server means server. – Wolfgang Fahl Mar 16 '18 at 17:58

2 Answers2

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.

kaqqao
  • 12,984
  • 10
  • 64
  • 118
  • Thank you for pointing this out. In fact I'd like to avoid any compiled/static code at all. – Wolfgang Fahl Mar 16 '18 at 17:53
  • @WolfgangFahl I'm confused. You're then looking for a generic HTTP client? You send a query via HTTP and get JSON back. – kaqqao Mar 16 '18 at 17:57
  • See https://github.com/BITPlan/com.bitplan.simplegraph/blob/master/simplegraph-github/src/test/java/com/bitplan/simplegraph/github/TestGitHubSystem.java - the JsonSystem can do this already. I need the option to adapt to a specific schema now in creating the queries. – Wolfgang Fahl Mar 16 '18 at 19:15
1

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.

Marcin Stachniuk
  • 716
  • 7
  • 14