GraphQL Server With Java & Clients in Go and Rust

GraphQL it's an interesting approach for Data Aggregation. GraphQL is a query language API for existing data. You can leverage all your REST APIs and existing data sources. GraphQL it's mobile-friendly and you can ask literally just the fields you need. GraphQL also allows you to share queries and there are clients for pretty much all languages. GraphQL allows you multiplex and de-multiplex multiple requests in one, being really great for tail latency and nice for data-intensive applications. However, not everything in graphql is flowers and I dont want to paint a rosy picture. There are issues and tradeoffs you need to take into account. I highly recommend you read these 3 series of posts I made comparisons with other approaches like BFs. BFF and GraphQL Dilemma part 1, part 2, and part 3. Today I want to share a video I made where there is a GraphQL Server written in Java and we have 2 clients one Written in Go Lang and the other written in Rust. So Let's get started. 

The video

The Code

GraphQL Server - Written in Java with JDK 15 and Maven 3

https://github.com/diegopacheco/java-pocs/tree/master/pocs/graphql-java-fun

GraphQL Client - Written in Go Lang with Machinebox/GraphQL

https://github.com/diegopacheco/go-playground/tree/master/machinebox-graphql-fun

GraphQL Client - Written in Rust with graphql_client

https://github.com/diegopacheco/rust-playground/tree/master/graphql-rust-client-fun 


Cheers,

Diego Pacheco

Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java