graphql-java-kickstart/graphql-spring-webclient

Add support for sending queries by name

oliemansm opened this issue · 1 comments

GraphQLWebClient uses the GraphQLRequest which contains the query to send. That GraphQLRequest object is constructed using the GraphQLRequestBuilder which in turn exposes two ways of defining the query:

  1. String parameter identifying a classpath resource, e.g. some-query-file.graphql
  2. The actual String query

Describe the solution you'd like
Add the ability to send a query (e.g. construct a GraphQLRequest) using named queries. You could add resource file(s) containing named GraphQL queries, e.g.

query getSomeQuery($id: ID!) {
  someQuery(id: $id)
}

Upon startup these queries would be preloaded and they could be used by providing the query name, e.g.

GraphQLRequest.builder().namedQuery("getSomeQuery").build()

I followed your read.me instructions but still could not figure out how to apply the to my following query that I typically test using the UI. Any tips with examples?

mutation {
searchBySerialNumber(ean:"9780838402597",serialNumber:"100959358686")
{
ean
isReturnable
dueDate
userId
trackingNumber
}
}