Hackforge Academy

Category: spring_boot

Spring Cloud Gateway

Published on 22 Aug 2026

Explanation

Spring Cloud Gateway acts as a single entry point for clients in a microservices architecture. Instead of calling each microservice directly, the frontend sends requests to the API Gateway, which routes them to the appropriate service.

Code:

React Frontend
      │
      ▼
API Gateway :8080
      │
 ┌────┼─────────────┐
 ▼    ▼             ▼
User Order       Payment
:8081 :8082       :8083

Explanation

Without an API Gateway, the frontend needs to know the URL and port of every microservice. This increases coupling and makes the frontend harder to maintain.

Code:

Without Gateway

React
 ├──→ User Service :8081
 ├──→ Order Service :8082
 └──→ Payment Service :8083

Problem:
Frontend knows every service location.

Explanation

With Spring Cloud Gateway, the frontend communicates with a single gateway URL. The gateway examines the request path and routes the request to the appropriate microservice.

Code:

React
  │
  │ /api/users
  ▼
Gateway :8080
  │
  └────→ User Service :8081

React
  │
  │ /api/orders
  ▼
Gateway :8080
  │
  └────→ Order Service :8082

Explanation

Create a Spring Boot project and add the Spring Cloud Gateway dependency. The gateway application can run on port 8080 while the individual microservices run on different ports.

Code:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

server.port=8080

Explanation

Routes can be configured in application.yml. The gateway matches the request path and forwards the request to the corresponding service.

Code:

spring:
  cloud:
    gateway:
      routes:
        - id: user-service
          uri: http://localhost:8081
          predicates:
            - Path=/api/users/**

        - id: order-service
          uri: http://localhost:8082
          predicates:
            - Path=/api/orders/**

Explanation

Spring Cloud Gateway can also work with Eureka Service Discovery. Instead of hardcoding service URLs, the gateway can use the service name registered in Eureka.

Code:

React
  ↓
API Gateway
  ↓
Eureka Server
  ↓
USER-SERVICE
ORDER-SERVICE
PAYMENT-SERVICE

Example URI:
lb://USER-SERVICE

Explanation

API Gateway can provide common cross-cutting features such as authentication, authorization, logging, request filtering, rate limiting, CORS, and load balancing.

Code:

Client
  ↓
API Gateway
  ├── Authentication
  ├── Authorization
  ├── Logging
  ├── Rate Limiting
  ├── CORS
  └── Routing
  ↓
Microservices

🚀 Learn Spring Boot with real-world projects

💡 Build REST APIs step by step

🧠 Improve backend development skills

🎯 Get career-ready practical training

Join Our Free WhatsApp Community

Direct access to niche-specific mentors and peers on WhatsApp.

🐍

Python Community

Discuss Django, FastAPI, AI integration, and automation scripts with 15k+ developers.

Join Python Community
⚛️

React Community

Master Next.js, Framer Motion, and State Management. Share your latest UI components.

Join React Community

Java Community

Deep dives into Spring Boot, Microservices architecture, and high-performance backend ops.

Join Java Community