🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

com.github.k0kubun:graphql-query-builder

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

com.github.k0kubun:graphql-query-builder

GraphQL query builder for Java

0.4.2
Version published
Maintainers
1

graphql-query-builder Build Status

GraphQL query builder for Java

Installation

Maven (pom.xml)

<dependencies>
    <dependency>
        <groupId>com.github.k0kubun</groupId>
        <artifactId>graphql-query-builder</artifactId>
        <version>0.4.2</version>
    </dependency>
</dependencies>

Gradle (build.gradle)

dependencies {
    compile 'com.github.k0kubun:graphql-query-builder:0.4.2'
}

Usage

To build following query:

user(name:"k0kubun") {
  name
  friends(first:10 after:"Y3Vyc29yMQ==") {
    totalCount
    edges {
      cursor
      node {
        ... on User {
          name
        }
      }
    }
  }
}

You can write code in the following way:

import com.github.k0kubun.builder.query.graphql.GraphQLQueryBuilder;
import java.util.HashMap;
import java.util.Map;

public class Example {
    
    public example() {
    Map<String, Object> userParams =
                    Map.of("name", "k0kubun");
    
            String query = GraphQLQueryBuilder.query()
                    .object("user", userParams, GraphQLQueryBuilder.object()
                            .field("name")
                            .objects("friends", 10, "Y3Vyc29yMQ==", GraphQLQueryBuilder.object()
                                    .field("totalCount")
                                    .object("edges", GraphQLQueryBuilder.object()
                                            .field("cursor")
                                            .object("node", GraphQLQueryBuilder.object()
                                                    .on("User", GraphQLQueryBuilder.object()
                                                            .field("name")
                                                            .build()
                                                    ).build()
                                            ).build()
                                    ).build()
                            ).build()
                    ).build();
    }
}

Project Status

Experimental.

Unsupported features

  • @include
  • @skip
  • Mutation
  • Fragments
  • Variables
  • Aliases

Code style

Airlift

Release

Create ~/.gradle/gradle.properties like:

sonatypeUsername=k0kubun
sonatypePassword=PASSWORD
signing.keyId=KEYID
signing.password=PASSWORD
signing.secretKeyRingFile=/Users/k0kubun/.gnupg/secring.gpg

KEYID is the last 8 characters of what's shown at gpg -K.

Then run:

$ ./gradlew uploadArchives

At https://oss.sonatype.org/#stagingRepositories, push "Close" and then "Release". Sync to maven repository might take some time.

License

MIT License

FAQs

Package last updated on 03 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts