-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathindex.html
More file actions
21 lines (21 loc) · 17.1 KB
/
Copy pathindex.html
File metadata and controls
21 lines (21 loc) · 17.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!doctype html><html lang=en class=no-js><head lang=en-us><meta charset=utf-8><meta name=viewport content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1"><meta http-equiv=X-UA-Compatible content="IE=10"><title>About GraphQL Java Tools - GraphQL Java Kickstart</title><meta name=generator content="Hugo 0.166.0"><meta name=description content="Documentation for GraphQL Java Servlet"><link rel=canonical href=https://graphql-java-kickstart.github.io/tools/><meta name=author content="GraphQL Java Kickstart"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content="en"><meta name=lang:search.pipeline.stopwords content="true"><meta name=lang:search.pipeline.trimmer content="true"><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content="[\s\-]+"><meta property="og:url" content="https://graphql-java-kickstart.github.io/tools/"><meta property="og:title" content="GraphQL Java Kickstart"><meta property="og:image" content="https://graphql-java-kickstart.github.io/images/logo-graphql-kickstart-2000px.png"><meta name=apple-mobile-web-app-title content="GraphQL Java Kickstart"><meta name=apple-mobile-web-app-capable content="yes"><meta name=apple-mobile-web-app-status-bar-style content="black-translucent"><link rel="shortcut icon" type=image/x-icon href=https://graphql-java-kickstart.github.io/images/favicon.ico><link rel=icon type=image/x-icon href=https://graphql-java-kickstart.github.io/images/favicon.ico><style>@font-face{font-family:icon;src:url(https://graphql-java-kickstart.github.io/fonts/icon.eot?52m981);src:url(https://graphql-java-kickstart.github.io/fonts/icon.eot#iefix52m981)format('embedded-opentype'),url(https://graphql-java-kickstart.github.io/fonts/icon.woff?52m981)format('woff'),url(https://graphql-java-kickstart.github.io/fonts/icon.ttf?52m981)format('truetype'),url(https://graphql-java-kickstart.github.io/fonts/icon.svg?52m981#icon)format('svg');font-weight:400;font-style:normal}</style><link rel=stylesheet href=https://graphql-java-kickstart.github.io/stylesheets/application.css><link rel=stylesheet href=https://graphql-java-kickstart.github.io/fonts/material-icons.css><link rel=stylesheet href=https://graphql-java-kickstart.github.io/stylesheets/highlight/androidstudio.css><link rel=stylesheet href="//fonts.googleapis.com/css?family=Roboto:400,700|Roboto+Mono"><style>body,input{font-family:roboto,Helvetica,Arial,sans-serif}pre,code{font-family:roboto mono,courier new,courier,monospace}</style><script src=https://cdnjs.cloudflare.com/ajax/libs/fuse.js/7.5.0/fuse.min.js></script><script src=https://graphql-java-kickstart.github.io/javascripts/modernizr.js></script><link href=https://graphql-java-kickstart.github.io/tools/index.xml rel=alternate type=application/rss+xml title="GraphQL Java Kickstart"><link href=https://graphql-java-kickstart.github.io/tools/index.xml rel=feed type=application/rss+xml title="GraphQL Java Kickstart"></head><body data-md-color-primary=pink data-md-color-accent=teal class="palette-primary-pink palette-accent-teal"><svg class="md-svg"><defs><svg width="416" height="448" viewBox="0 0 416 448" id="__github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25.0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5.0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5.0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5.0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5.0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5.0 21.75-6.75 42 34 40 34 99.5z"/></svg>
<svg width="352" height="448" viewBox="0 0 352 448" id="__bitbucket"><path fill="currentColor" d="M203.75 214.75q2 15.75-12.625 25.25t-27.875 1.5q-9.75-4.25-13.375-14.5t-.125-20.5 13-14.5q9-4.5 18.125-3t16 8.875 6.875 16.875zm27.75-5.25q-3.5-26.75-28.25-41T154 165.25q-15.75 7-25.125 22.125t-8.625 32.375q1 22.75 19.375 38.75t41.375 14q22.75-2 38-21t12.5-42zM291.25 74q-5-6.75-14-11.125t-14.5-5.5T245 54.25q-72.75-11.75-141.5.5-10.75 1.75-16.5 3t-13.75 5.5T60.75 74q7.5 7 19 11.375t18.375 5.5T120 93.75Q177 101 232 94q15.75-2 22.375-3t18.125-5.375T291.25 74zM305.5 332.75q-2 6.5-3.875 19.125t-3.5 21-7.125 17.5-14.5 14.125q-21.5 12-47.375 17.875t-50.5 5.5-50.375-4.625q-11.5-2-20.375-4.5T88.75 412 70.5 401.125t-13-15.375q-6.25-24-14.25-73l1.5-4 4.5-2.25q55.75 37 126.625 37t126.875-37q5.25 1.5 6 5.75t-1.25 11.25-2 9.25zM350.75 92.5q-6.5 41.75-27.75 163.75-1.25 7.5-6.75 14t-10.875 10T291.75 288q-63 31.5-152.5 22-62-6.75-98.5-34.75-3.75-3-6.375-6.625t-4.25-8.75-2.25-8.5-1.5-9.875T25 232.75q-2.25-12.5-6.625-37.5t-7-40.375T5.5 118 0 78.5Q.75 72 4.375 66.375T12.25 57t11.25-7.5T35 43.875t12-4.625q31.25-11.5 78.25-16 94.75-9.25 169 12.5Q333 47.25 348 66.25q4 5 4.125 12.75t-1.375 13.5z"/></svg>
<svg width="500" height="500" viewBox="0 0 500 500" id="__gitlab"><g transform="translate(156.197863, 1.160267)"><path fill="currentColor" d="M93.667 473.347l90.684-279.097H2.983L93.667 473.347z"/></g><g transform="translate(28.531199, 1.160800)" opacity=".7"><path fill="currentColor" d="M221.333 473.345 130.649 194.25H3.557L221.333 473.345z"/></g><g transform="translate(0.088533, 0.255867)" opacity=".5"><path fill="currentColor" d="M32 195.155 4.441 279.97c-2.513 7.735.24 16.21 6.821 20.99l238.514 173.29L32 195.155z"/></g><g transform="translate(29.421866, 280.255593)"><path fill="currentColor" d="M2.667-84.844h127.092L75.14-252.942c-2.811-8.649-15.047-8.649-17.856.0L2.667-84.844z"/></g><g transform="translate(247.197860, 1.160800)" opacity=".7"><path fill="currentColor" d="M2.667 473.345 93.351 194.25h127.092L2.667 473.345z"/></g><g transform="translate(246.307061, 0.255867)" opacity=".5"><path fill="currentColor" d="M221.334 195.155l27.559 84.815c2.514 7.735-.24 16.21-6.821 20.99L3.557 474.25 221.334 195.155z"/></g><g transform="translate(336.973725, 280.255593)"><path fill="currentColor" d="M130.667-84.844H3.575l54.618-168.098c2.811-8.649 15.047-8.649 17.856.0L130.667-84.844z"/></g></svg>
</defs></svg>
<input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off>
<input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off>
<label class=md-overlay data-md-component=overlay for=__drawer></label><header class=md-header data-md-component=header><nav class="md-header-nav md-grid"><div class=md-flex><div class="md-flex__cell md-flex__cell--shrink"><a href=https://graphql-java-kickstart.github.io/ title="GraphQL Java Kickstart" class="md-header-nav__button md-logo"><img src=https://graphql-java-kickstart.github.io/images/logo-graphql-kickstart-2000px.png width=25 height=25></a></div><div class="md-flex__cell md-flex__cell--shrink"><label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label></div><div class="md-flex__cell md-flex__cell--stretch"><div class="md-flex__ellipsis md-header-nav__title" data-md-component=title><span class=md-header-nav__topic>GraphQL Java Kickstart
</span><span class=md-header-nav__topic>About GraphQL Java Tools</span></div></div><div class="md-flex__cell md-flex__cell--shrink"><label class="md-icon md-icon--search md-header-nav__button" for=__search></label><div class=md-search data-md-component=search role=dialog><label class=md-search__overlay for=__search></label><div class=md-search__inner role=search><form class=md-search__form name=search><input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active>
<label class="md-icon md-search__icon" for=__search></label><button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1>
</button></form><div class=md-search__output><div class=md-search__scrollwrap data-md-scrollfix><div class=md-search-result data-md-component=result><div class=md-search-result__meta>Search</div><ol class=md-search-result__list></ol></div></div></div></div></div></div><div class="md-flex__cell md-flex__cell--shrink"><div class=md-header-nav__source><a href=https://github.com/graphql-java-kickstart/graphql-java-tools title="Go to repository" target=_blank class=md-source data-md-source=github><div class=md-source__icon><svg viewBox="0 0 24 24" width="24" height="24"><use xlink:href="#__github" width="24" height="24"/></svg></div><div class=md-source__repository>graphql-java-kickstart/graphql-java-tools</div></a></div></div></div></nav></header><div class=md-container><nav class=md-tabs data-md-component=tabs><div class="md-tabs__inner md-grid"><ul class=md-tabs__list><li class=md-tabs__item><a href=https://graphql-java-kickstart.github.io/tools/ title=Tools class="md-tabs__link md-tabs__link--active">Tools</a></li><li class=md-tabs__item><a href=https://graphql-java-kickstart.github.io/servlet/ title=Servlet class=md-tabs__link>Servlet</a></li><li class=md-tabs__item><a href=https://graphql-java-kickstart.github.io/spring-boot/ title="Spring Boot" class=md-tabs__link>Spring Boot</a></li><li class=md-tabs__item><a href=https://graphql-java-kickstart.github.io/web-client/ title="Web Client" class=md-tabs__link>Web Client</a></li><li class=md-tabs__item><a href=https://graphql-java-kickstart.github.io/samples/ title=Samples class=md-tabs__link>Samples</a></li><li class=md-tabs__item><a href=https://graphql-java-kickstart.github.io/tutorials/ title=Tutorials class=md-tabs__link>Tutorials</a></li></ul></div></nav><main class=md-main><div class="md-main__inner md-grid" data-md-component=container><div class="md-sidebar md-sidebar--primary" data-md-component=navigation><div class=md-sidebar__scrollwrap><div class=md-sidebar__inner><nav class="md-nav md-nav--primary" data-md-level=0><label class="md-nav__title md-nav__title--site" for=__drawer><a href=https://graphql-java-kickstart.github.io/ title="GraphQL Java Kickstart" class="md-nav__button md-logo"><img src=https://graphql-java-kickstart.github.io/images/logo-graphql-kickstart-2000px.png width=48 height=48>
</a>GraphQL Java Kickstart</label><ul class=md-nav__list data-md-scrollfix><li class="md-nav__item md-nav__item--active"><input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkboxd id=__toc>
<a title="About GraphQL Java Tools" href=https://graphql-java-kickstart.github.io/tools/ class="md-nav__link md-nav__link--active">About GraphQL Java Tools</a></li><li class=md-nav__item><a href=https://graphql-java-kickstart.github.io/tools/getting-started/ title="Getting started" class=md-nav__link>Getting started</a></li><li class=md-nav__item><a href=https://graphql-java-kickstart.github.io/tools/schema-definition/ title="Defining a schema" class=md-nav__link>Defining a schema</a></li><li class=md-nav__item><a href=https://graphql-java-kickstart.github.io/tools/schema-parser-options/ title="Schema parser options" class=md-nav__link>Schema parser options</a></li><li class=md-nav__item><a href=https://graphql-java-kickstart.github.io/tools/relay/ title=Relay class=md-nav__link>Relay</a></li><li class=md-nav__item><a href=https://graphql-java-kickstart.github.io/tools/type-definition-factory/ title="Type Definition Factory" class=md-nav__link>Type Definition Factory</a></li><li class=md-nav__item><a href=https://graphql-java-kickstart.github.io/tools/directives/ title=Directives class=md-nav__link>Directives</a></li></ul></nav></div></div></div><div class="md-sidebar md-sidebar--secondary" data-md-component=toc><div class=md-sidebar__scrollwrap><div class=md-sidebar__inner><nav id=scrollspy class="md-nav md-nav--secondary"></nav></div></div></div><div class=md-content><article class="md-content__inner md-typeset"><h1>About GraphQL Java Tools</h1><p><a href=https://maven-badges.herokuapp.com/maven-central/com.graphql-java-kickstart/graphql-java-tools><img src=https://img.shields.io/maven-central/v/com.graphql-java-kickstart/graphql-java-tools.svg alt="Maven Central"></a>
<a href=https://travis-ci.org/graphql-java-kickstart/graphql-java-tools><img src="https://travis-ci.org/graphql-java-kickstart/graphql-java-tools.svg?branch=master" alt="TravisCI Build"></a>
<a href="https://sonarcloud.io/dashboard?id=graphql-java-kickstart_graphql-java-tools"><img src="https://sonarcloud.io/api/project_badges/measure?project=graphql-java-kickstart_graphql-java-tools&metric=alert_status" alt="Quality Gate Status"></a>
<a href=https://github.com/graphql-java-kickstart/graphql-java-tools/graphs/contributors><img src=https://img.shields.io/github/contributors/graphql-java-kickstart/graphql-java-tools alt="GitHub contributors"></a>
<a href=https://github.com/graphql-java-kickstart/graphql-java-tools/discussions><img src=https://img.shields.io/badge/GitHub-discuss-orange alt="Discuss on GitHub"></a></p><p>This library allows you to use the GraphQL schema language to build your <a href=https://github.com/graphql-java/graphql-java>graphql-java</a> schema.
Inspired by <a href=https://github.com/apollographql/graphql-tools>graphql-tools</a>, it parses the given GraphQL schema and allows you to BYOO (bring your own object) to fill in the implementations.
GraphQL Java Tools works extremely well if you already have domain POJOs that hold your data (e.g. for RPC, ORM, REST, etc) by allowing you to map these magically to GraphQL objects.</p><p>GraphQL Java Tools aims for seamless integration with Java, but works for any JVM language. Try it with Kotlin!</p><h2 id=why-graphql-java-tools>Why GraphQL Java Tools?</h2><ul><li><strong>Schema First</strong>: GraphQL Java Tools allows you to write your schema in a simple, portable way using the <a href=http://graphql.org/learn/schema/>GraphQL schema language</a> instead of hard-to-read builders in code.</li><li><strong>Minimal Boilerplate</strong>: It takes a lot of work to describe your GraphQL-Java objects manually, and quickly becomes unreadable.</li><li><strong>Stateful Data Fetchers</strong>: If you’re using an IOC container (like Spring), it’s hard to wire up data fetchers that make use of beans you’ve already defined without a bunch of fragile configuration. GraphQL Java Tools allows you to register “Resolvers” for any type that can bring state along and use that to resolve fields.</li><li><strong>Generated DataFetchers</strong>: GraphQL Java Tools automatically creates data fetchers for your fields that call the appropriate method on your java class. This means all you have to do to create a new field is add the field definition to your schema and add a corresponding method on your class.</li><li><strong>Type → Class Discovery</strong>: GraphQL Java Tools starts from your root objects (Query, Mutation) and, as it’s generating data fetchers for you, starts to learn about the classes you use for a certain GraphQL type.</li><li><strong>Class Validation</strong>: Since there aren’t any compile-time checks of the type → class relationship, GraphQL Java Tools will warn you if you provide classes/types that you don’t need to, as well as throwing errors if you use the wrong Java class for a certain GraphQL type when it builds the schema.</li><li><strong>Unit Testing</strong>: Since your GraphQL schema is independent of your data model, this makes your classes simple and extremely testable.</li></ul></article></div></main><footer class=md-footer><div class="md-footer-meta md-typeset"><div class="md-footer-meta__inner md-grid"><div class=md-footer-copyright><div class=md-footer-copyright__highlight>Released under the Apache 2.0 license</div>powered by
<a href=https://gohugo.io>Hugo</a>
and
<a href=https://github.com/oliemansm/hugo-material-docs>Material Docs for Hugo</a></div><div class=md-footer-social><link rel=stylesheet type=text/css href=https://graphql-java-kickstart.github.io/fonts/font-awesome.css><a href=https://github.com/graphql-java-kickstart target=_blank class="md-footer-social__link fa fa-github-alt"></a></div></div></div></footer></div><script>var base_url="https://graphql-java-kickstart.github.io/",repo_id="graphql-java-kickstart"</script><script src=https://graphql-java-kickstart.github.io/javascripts/application.js></script><script src=//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.12.0/highlight.min.js></script><script>hljs.registerLanguage("graphql",function(e){return{aliases:["gql"],k:{keyword:"query mutation subscription|10 type input schema directive interface union scalar fragment|10 enum on ...",literal:"true false null"},c:[e.HCM,e.QSM,e.NM,{cN:"type",b:"[^\\w][A-Z][a-z]",e:"\\W",eE:!0},{cN:"literal",b:"[^\\w][A-Z][A-Z]",e:"\\W",eE:!0},{cN:"variable",b:"\\$",e:"\\W",eE:!0},{cN:"keyword",b:"[.]{2}",e:"\\."},{cN:"meta",b:"@",e:"\\W",eE:!0}],i:/([;<']|BEGIN)/}}),hljs.initHighlightingOnLoad()</script><script>app.initialize({version:"1.0.4",url:{base:"https://graphql-java-kickstart.github.io/"}})</script></body></html>