All Projects → merapar → Graphql Spring Boot Starter

merapar / Graphql Spring Boot Starter

Licence: mit
Spring boot starter for GraphQL

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Graphql Spring Boot Starter

Example Kotlin Springboot Graphql
Projeto de exemplo com API GraphQL com dois crud’s simples, utilizando Kotlin, Spring Boot, Gradle etc.
Stars: ✭ 28 (-83.13%)
Mutual labels:  graphql, spring-boot
Graphqlize
A Clojure & JVM library for developing GraphQL API instantly from Postgres and MySQL databases
Stars: ✭ 240 (+44.58%)
Mutual labels:  graphql, spring-boot
Graphql Java Tools
A schema-first tool for graphql-java inspired by graphql-tools for JS
Stars: ✭ 667 (+301.81%)
Mutual labels:  graphql, spring-boot
Geekshop
极客商城 ~ 一个面向开发者的、基于Spring+GraphQL+Angular的、无前端(headless)电商框架
Stars: ✭ 52 (-68.67%)
Mutual labels:  graphql, spring-boot
Kotlin Graphql Sample
Sample implementation of Kotlin+Spring+GraphQL
Stars: ✭ 69 (-58.43%)
Mutual labels:  graphql, spring-boot
Springboot Restful Angular
springBoot,restful,jwt,angular4 搭建的前后端分离后台管理系统
Stars: ✭ 121 (-27.11%)
Mutual labels:  graphql, spring-boot
Shio
✨ :dna: Shio CMS - Model Content, Use GraphQL and Create Site using Javascript with Native Cache and Search.
Stars: ✭ 119 (-28.31%)
Mutual labels:  graphql, spring-boot
Graphql Java Spring Boot Example
Sample GraphQL server implemented with graphql-java and Spring Boot
Stars: ✭ 155 (-6.63%)
Mutual labels:  graphql, spring-boot
Vendure
A headless GraphQL ecommerce framework for the modern web
Stars: ✭ 2,961 (+1683.73%)
Mutual labels:  graphql
Graphql Landscape
🌄Landscape for the GraphQL ecosystem
Stars: ✭ 163 (-1.81%)
Mutual labels:  graphql
Biking2
This is the source code of http://biking.michael-simons.eu
Stars: ✭ 162 (-2.41%)
Mutual labels:  spring-boot
Examples
Examples of Mock Service Worker usage with various frameworks and libraries.
Stars: ✭ 163 (-1.81%)
Mutual labels:  graphql
Spring Rest Ecommerce
Java Spring Boot - Ecommerce REST API
Stars: ✭ 164 (-1.2%)
Mutual labels:  spring-boot
Speedment
Speedment is a Stream ORM Java Toolkit and Runtime
Stars: ✭ 1,978 (+1091.57%)
Mutual labels:  spring-boot
Spring Petclinic Reactjs
ReactJS (with TypeScript) and Spring Boot version of the Spring Petclinic sample application
Stars: ✭ 165 (-0.6%)
Mutual labels:  spring-boot
Fame
A blog power by spring-boot and vue
Stars: ✭ 162 (-2.41%)
Mutual labels:  spring-boot
Wp Graphql Gutenberg
Query gutenberg blocks with wp-graphql
Stars: ✭ 158 (-4.82%)
Mutual labels:  graphql
Chronus
Chronus是360金融技术团队基于阿里开源项目TBSchedule重写的分布式调度。
Stars: ✭ 166 (+0%)
Mutual labels:  spring-boot
Spring And Spring Boot
Lab solutions for Spring and Spring Boot course
Stars: ✭ 163 (-1.81%)
Mutual labels:  spring-boot
Graphql Transform Federation
Convert your existing GraphQL schema into a federated schema
Stars: ✭ 163 (-1.81%)
Mutual labels:  graphql

Join the chat at https://gitter.im/merapar/graphql-spring-boot-starter Build Status Code coverage Latest Release Dev version

GraphQL Spring boot starter

This is a Spring boot starter project for the GraphQL Java project.

Table of Contents

Overview

The implementation is based on Spring boot starter web project that will expose the GraphQL endpoint as rest controller.

It takes care of exposing a rest endpoint with all configured graphQL fields automatically.

The library aims for real-life usage in production with the ease of Spring Boot.

Getting started

Check out the following documentation on using spring boot starter project.

By adding GraphQL Spring boot starter as maven dependency on the application a @Controller will be created pointing to the configured request mapping with default "/v1/graphql". During startup all components that implement "GraphQlFields" interface will be applied on the GraphQL schema exposed by the controller.

An example from the sample project:

package com.merapar.graphql.sample.fields;

import com.merapar.graphql.GraphQlFields;
import graphql.schema.GraphQLFieldDefinition;
import org.springframework.stereotype.Component;

import java.util.Collections;
import java.util.List;

import static graphql.Scalars.GraphQLString;
import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;

@Component
public class HelloWorldFields implements GraphQlFields {

    @Override
    public List<GraphQLFieldDefinition> getQueryFields() {
        return Collections.singletonList(
                newFieldDefinition()
                        .type(GraphQLString)
                        .name("hello")
                        .staticValue("world")
                        .build()
        );
    }

    @Override
    public List<GraphQLFieldDefinition> getMutationFields() {
        return Collections.emptyList();
    }
}

Configuration

The following default properties can be configured via properties file:

com.merapar.graphql:
  rootQueryName: "queries"
  rootQueryDescription: ""
  rootMutationName: "mutations"
  rootMutationDescription: ""
  requestMapping:
    path: "/v1/graphql"
  executor:
    minimumThreadPoolSizeQuery: 10
    maximumThreadPoolSizeQuery: 20
    keepAliveTimeInSecondsQuery: 30
    minimumThreadPoolSizeMutation: 10
    maximumThreadPoolSizeMutation: 20
    keepAliveTimeInSecondsMutation: 30
    minimumThreadPoolSizeSubscription: 10
    maximumThreadPoolSizeSubscription: 20
    keepAliveTimeInSecondsSubscription: 30
    

How to use the latest release with Maven

Dependency:

<dependency>
    <groupId>com.merapar</groupId>
    <artifactId>graphql-spring-boot-starter</artifactId>
    <version>1.0.2</version>
</dependency>

How to use the latest build with Maven

Add the repository:

<repository>
    <id>bintray-merapar-maven</id>
    <name>bintray</name>
    <url>http://dl.bintray.com/merapar/maven</url>
</repository>

Dependency:

<dependency>
    <groupId>com.merapar</groupId>
    <artifactId>graphql-spring-boot-starter</artifactId>
    <version>1.0.3-alpha</version>
</dependency>

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By contributing to this project (commenting or opening PR/Issues etc) you are agreeing to follow this conduct, so please take the time to read it.

Contributions

Every contribution to make this project better is welcome: Thank you!

In order to make this a pleasant as possible for everybody involved, here are some tips:

Acknowledgment

This implementation is based on the graphql-java project.

License

GraphQL Spring boot starter is licensed under the MIT License. See LICENSE for details.

Copyright (c) 2016 Merapar Technologies

graphql-java License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].