Skip to content

Repository files navigation

HTTP Clients and Services Demo Suite

A multi-module Maven workspace showing several ways to call HTTP APIs with modern Spring on Java 25 and Spring Boot 4.1.0.

Modules at a glance

Module Port What it does
rest-service 8080 Employee REST API backed by Spring MVC, JPA, cache abstraction, and H2
soap-service 7070 Minimal Spring-WS SOAP service with employee operations: GetEmployeeById, CreateEmployee, and GetAllEmployees
rest-client 8081 Synchronous Spring RestClient façade plus a small Spring Cloud Config refresh demo
web-client 8082 Reactive WebClient client with SSL settings and Resilience4j circuit breaker + retry
graphql-service 9090 GraphQL server exposing movie and actor queries plus an add-movie mutation
graphql-client 9091 GraphQL consumer that wraps HttpGraphQlClient behind simple REST endpoints

Tech baseline

  • Java 25
  • Spring Boot 4.1.0
  • Spring Cloud 2025.1.2
  • Maven multi-module build
  • Lombok 1.18.46

Project structure

http-clients/
├── graphql-client/
├── graphql-service/
├── rest-client/
├── rest-service/
├── soap-service/
└── web-client/

Build everything

Run from the repository root:

mvn test

To package all modules:

mvn clean package

Recommended local run order

  1. Start rest-service
  2. Start graphql-service
  3. Start rest-client, web-client, and/or graphql-client

Run a single module

Each module includes its own Maven wrapper, so you can run them independently:

cd rest-service && ./mvnw spring-boot:run
cd graphql-service && ./mvnw spring-boot:run
cd rest-client && ./mvnw spring-boot:run
cd web-client && ./mvnw spring-boot:run
cd graphql-client && ./mvnw spring-boot:run

Where to look next

  • rest-service/README.md
  • rest-client/README.md
  • web-client/README.md
  • graphql-service/README.md
  • graphql-client/ReadMe.md

About

Http client Implementation with different flavors provided by Spring framework such as Rest Client, Reactive Web Client, GraphQL WebClient etc.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages