{"id":16099722,"url":"https://github.com/hantsy/spring-graphql-sample","last_synced_at":"2025-04-06T03:10:30.706Z","repository":{"id":37336887,"uuid":"375681481","full_name":"hantsy/spring-graphql-sample","owner":"hantsy","description":"Spring GraphQL examples using Netflix DGS, GraphQL Java and  Spring GraphQL","archived":false,"fork":false,"pushed_at":"2025-03-24T12:56:30.000Z","size":10996,"stargazers_count":94,"open_issues_count":45,"forks_count":21,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-30T02:07:50.618Z","etag":null,"topics":["graphql","graphql-java","netflix-dgs","spring","spring-boot","spring-graphql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hantsy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-10T11:58:58.000Z","updated_at":"2025-02-19T02:19:34.000Z","dependencies_parsed_at":"2023-02-12T10:31:32.426Z","dependency_job_id":"3a22220a-2ca3-4a0f-a46e-1dfbc7a434b9","html_url":"https://github.com/hantsy/spring-graphql-sample","commit_stats":{"total_commits":2129,"total_committers":3,"mean_commits":709.6666666666666,"dds":"0.24518553311413804","last_synced_commit":"aea1d28f63ef5159b01ca90b21585c6d07f999b8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantsy%2Fspring-graphql-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantsy%2Fspring-graphql-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantsy%2Fspring-graphql-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantsy%2Fspring-graphql-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hantsy","download_url":"https://codeload.github.com/hantsy/spring-graphql-sample/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247427006,"owners_count":20937201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphql","graphql-java","netflix-dgs","spring","spring-boot","spring-graphql"],"created_at":"2024-10-09T18:44:03.209Z","updated_at":"2025-04-06T03:10:30.689Z","avatar_url":"https://github.com/hantsy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spring-graphql-sample\n\nSpring GraphQL examples using the following frameworks and libraries:\n\n* [Netflix DGS(Domain Graph Service) framework](https://netflix.github.io/dgs/) \n* [Spring GraphQL](https://github.com/spring-projects/spring-graphql)\n* [GraphQL Java Kickstart](https://www.graphql-java-kickstart.com/)\n* [GraphQL Java](https://www.graphql-java.com/)\n* [GraphQL SPQR(GraphQL Schema Publisher \u0026 Query Resolver, pronounced like speaker)](https://github.com/leangen/graphql-spqr)\n* [ExpediaGroup GraphQL Kotlin](https://opensource.expediagroup.com/graphql-kotlin/docs)\n\nOther GraphQL Java integration examples with Java frameworks.\n\n* [GraphQL with Quarkus](https://github.com/hantsy/quarkus-sandbox)\n* [GraphQL with Vertx](https://github.com/hantsy/vertx-sandbox)\n\n## Guide\n\nTBD\n\n## Example Codes\n|  Example name       | Description     |\n| ---- | ---- |\n|[dgs](./dgs)  | Simple Netflix DGS example|\n|[dgs-webflux](./dgs-webflux)| Simple Netflix DGS example with Spring WebFlux|\n|[dgs-subscription-ws](./dgs-subscription-ws) | Simple Netflix DGS Subscription example using WebSocket protocol|\n|[dgs-subscription-ui](./dgs-subscription-ui)  | Angular Client app for dgs-subscription-ws|\n|[dgs-subscription-sse](./dgs-subscription-sse)  | Simple Netflix DGS Subscription example using Http/SSE protocol|\n|[dgs-codegen](./dgs-codegen) | Netflix DGS example with Spring Jdbc and Gradle codegen plugin|\n|[dgs-fileupload](./dgs-fileupload) | Netflix DGS file upload example|\n|[dgs-client](./dgs-client) | Netflix DGS Typesafe Client example|\n|[dgs-kotlin-co](./dgs-kotlin-co) | **A complete Netflix DGS example** with WebFlux, Kotlin Coroutines, Spring Data R2dbc and Spring Security|\n|[dgs-kotlin](./dgs-kotlin) | **A complete Netflix DGS example** with WebMvc/Kotlin, Spring Data Jdbc, Spring Security and Spring Session/Spring Data Redis|\n|[graphql-kotlin](./graphql-kotlin) |  ExpediaGroup Graphql Kotlin Spring Boot example|\n|[spring-graphql](./spring-graphql) | Spring GraphQL example|\n|[spring-graphql-webmvc](./spring-graphql-webmvc) | Spring GraphQL with WebMvc Controller annotation example|\n|[spring-graphql-querydsl](./spring-graphql-querydsl)| Spring GraphQL/JPA/QueryDSl Data Fetchers example|\n|[spring-graphql-webflux](./spring-graphql-webflux) | Spring GraphQL/WebFlux example with WebSocket transport protocol |\n|[spring-graphql-rsocket-kotlin-co](./spring-graphql-rsocket-kotlin-co) | Spring GraphQL/WebFlux/Kotlin Coroutines example with RSocket transport protocol |\n\n\n### Legacy Codes\n\nSome example codes are moved to legacy folder, because the upstream project is discontinued or under an inactive development status.\n\n|  Example name       | Description     |\n| ---- | ---- |\n|[graphql-java](./legacy/graphql-java) | GraphQL Java vanilla Spring Boot example, upstream project is discontinuned, replaced by Spring GraphQL|\n|[graphql-spqr](./legacy/graphql-spqr)| GraphQL SPQR Spring example, inactive|\n|[graphql-java-kickstart](./graphql-java-kickstart)  | GraphQL Java Kickstart Spring Boot example|\n|[graphql-java-kickstart-webclient](./graphql-java-kickstart-webclient) | GraphQL Java Kickstart Spring WebClient example|\n|[graphql-java-kickstart-annotations](./graphql-java-kickstart-annotations) | GraphQL Java Kickstart Spring Boot example(Code first)|\n\n## Prerequisites\n\nMake sure you have installed the following software.\n\n* Java 21\n* Apache Maven 3.8.x / Gradle 7.x\n* Docker\n\nSome sample codes are written in Kotlin. If you are new to Kotlin, start to learn it from the [the Kotlin homepage](https://kotlinlang.org/).\n\n## Build \n\nClone the source codes from Github.\n\n```bash\ngit clone https://github.com/hantsy/spring-graphql-sample/\n```\n\nOpen a terminal, and switch to the root folder of the project, and run the following command to build the whole project.\n\n```bash\ndocker-compose up postgres // start up a postgres it is required\ncd examplename // change to the example folder\nmvn clean install // build the project\n//or\n./gradlew build\n```\n\nRun the application.\n\n```bash\nmvn spring-boot:run \n//or \n./gradlew bootRun\n// or from command line after building\njava -jar target/xxx.jar\n```\n\n\n## Contribution\n\nAny suggestions are welcome, filing an issue or submitting a PR is also highly recommended.  \n\n## References\n\n* [Getting started with GraphQL Java and Spring Boot](https://www.graphql-java.com/tutorials/getting-started-with-spring-boot/)\n* [Getting Started with GraphQL and Spring Boot](https://www.baeldung.com/spring-graphql)\n* [Open Sourcing the Netflix Domain Graph Service Framework: GraphQL for Spring Boot](https://netflixtechblog.com/open-sourcing-the-netflix-domain-graph-service-framework-graphql-for-spring-boot-92b9dcecda18)\n* [Netflix Open Sources Their Domain Graph Service Framework: GraphQL for Spring Boot ](https://www.infoq.com/news/2021/02/netflix-graphql-spring-boot/)\n* [Netflix Embraces GraphQL Microservices for Rapid Application Development ](https://www.infoq.com/news/2021/03/netflix-graphql-microservices/)\n* [GraphQL Reference Guide: Building Flexible and Understandable APIs ](https://www.infoq.com/articles/GraphQL-ultimate-guide/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhantsy%2Fspring-graphql-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhantsy%2Fspring-graphql-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhantsy%2Fspring-graphql-sample/lists"}