What is REST API?
REST API is one of the most commonly used technologies in modern web development and microservices architecture.
It allows communication between:
- Frontend and Backend
- Mobile Apps and Servers
- Microservices
- Third-party systems
REST APIs use HTTP protocols and exchange data mainly in JSON format.
What does REST stand for?
REST = Representational State Transfer
REST is an architectural style introduced by:
Roy Fielding
in his doctoral dissertation.
Simple Definition
REST API is a way for applications to communicate with each other using HTTP methods such as GET, POST, PUT, and DELETE.
REST API = Communication bridge between client and server.
Real-Time Example
Suppose we are developing Dhanish Empower.
Frontend needs course data from backend.
Frontend sends request:
GET /api/courses
Backend responds:
[
{
"id": 1,
"name": "Java Full Stack"
},
{
"id": 2,
"name": "Spring Boot"
}
]
This communication happens through REST API.
How REST API Works
- Client sends HTTP request.
- Server receives request.
- Business logic executes.
- Database interaction happens.
- Response is returned in JSON/XML.
Main Components of REST API
| Component | Description |
|---|---|
| Client | Sends HTTP requests. |
| Server | Processes requests. |
| HTTP Methods | Define operations like GET, POST. |
| Resource | Data exposed through URL. |
| JSON/XML | Data exchange format. |
HTTP Methods in REST API
| Method | Purpose | Example |
|---|---|---|
| GET | Retrieve data | Get all courses |
| POST | Create new data | Create course |
| PUT | Update data | Update course |
| DELETE | Delete data | Delete course |
REST API URL Example
| Operation | HTTP Method | URL |
|---|---|---|
| Get Courses | GET | /api/courses |
| Get Course By ID | GET | /api/courses/1 |
| Create Course | POST | /api/courses |
| Update Course | PUT | /api/courses/1 |
| Delete Course | DELETE | /api/courses/1 |
JSON in REST API
REST APIs mostly use:
JSON (JavaScript Object Notation)
because it is lightweight and easy to read.
Example JSON
{
"id": 1,
"courseName": "Spring Boot",
"price": 999
}
Spring Boot REST API Example
@RestController
@RequestMapping("/api/courses")
public class CourseController {
@GetMapping
public List<Course> getCourses() {
return List.of(
new Course(1, "Java"),
new Course(2, "Spring Boot")
);
}
}
When user opens:
http://localhost:8080/api/courses
JSON response is returned automatically.
REST API Architecture
Frontend / Mobile App
↓
REST API
↓
Business Logic Layer
↓
Database
REST API Status Codes
| Status Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 404 | Not Found |
| 500 | Internal Server Error |
Characteristics of REST API
- Stateless
- Client-Server Architecture
- Uses HTTP Protocol
- Supports JSON/XML
- Resource-Based URLs
- Scalable Architecture
What Does Stateless Mean?
REST APIs do not store client session data on the server.
Every request contains all required information.
Example:
- JWT Token sent in every request
- Server processes request independently
Advantages of REST API
- Simple architecture
- Platform independent
- Scalable
- Supports multiple clients
- Easy frontend-backend integration
- Lightweight communication
- Supports microservices
- Easy cloud integration
REST API vs SOAP
| REST API | SOAP |
|---|---|
| Lightweight | Heavyweight |
| Uses JSON/XML | Mainly XML |
| Fast | Slower |
| Simple architecture | Complex protocol |
| Widely used in microservices | Used in legacy enterprise systems |
Production-Level Importance
REST APIs are widely used in:
- Banking applications
- E-commerce platforms
- Mobile applications
- Microservices architecture
- Cloud-native systems
- Payment gateways
- Social media applications
Interview Answer
REST API is an architectural style used for communication between client and server using HTTP methods such as GET, POST, PUT, and DELETE.
REST stands for Representational State Transfer.
REST APIs are stateless and usually exchange data in JSON format.
Short Interview Answer
REST API is a web service architecture that enables communication between systems using HTTP protocols.
Frequently Asked Questions
What does REST stand for?
Representational State Transfer.
Which data format is commonly used in REST APIs?
JSON.
What are the main HTTP methods?
GET, POST, PUT, DELETE.
Why are REST APIs stateless?
Because server does not store client session information.
Can Spring Boot create REST APIs?
Yes, using @RestController and mapping annotations.
Conclusion
REST API is one of the most important technologies in modern application development.
It enables communication between systems using lightweight, scalable, and platform-independent architecture.
REST APIs are heavily used in Spring Boot, microservices, cloud applications, and enterprise systems.