| S.No |
Topic |
Sub-Topics |
| 1 |
Introduction to REST |
What is REST?, REST Constraints, Resources, Stateless, Web Standards |
| 2 |
HTTP Basics |
HTTP Methods, Status Codes, Headers, JSON, Idempotency |
| 3 |
Spring Web MVC Basics |
DispatcherServlet, Controller, RequestMapping, ResponseBody, Model |
| 4 |
Spring REST Architecture |
Controllers, Resources, Services, Repositories, Layers |
| 5 |
Building REST API |
@RestController, Path Variables, Request Params, JSON Body, ResponseEntity |
| 6 |
Request Handling |
@GetMapping, @PostMapping, @PutMapping, @DeleteMapping, Content-Type |
| 7 |
Data Binding |
@RequestBody, @ResponseBody, DTO, Validation, Conversion |
| 8 |
Validation |
@Valid, Custom Validator, Constraint, Error Handling, Messages |
| 9 |
Spring Data Integration |
JPA, Repository, Pagination, Sorting, Query Methods |
| 10 |
CRUD API |
Create, Read, Update, Delete, Pagination |
| 11 |
Exception Handling |
Global Exception, Custom Exceptions, @ControllerAdvice, Handler Methods, Response Structure |
| 12 |
Response Structure |
Success/Failure, Meta Data, Error Codes, Hypermedia, JSON Formats |
| 13 |
Spring Security Basics |
Authentication, Authorization, Filters, UserDetails, Password Encoding |
| 14 |
JWT Integration |
Token Create, Validate, Expire, Refresh Token, Authorization Header |
| 15 |
API Versioning |
URI Versioning, Header Versioning, Media Type Versioning, Best Practices, Backward Compatibility |
| 16 |
HAL & HATEOAS |
Linking Resources, Hateoas Library, Hypermedia, Restful Navigation, Discoverability |
| 17 |
Pagination & Filtering |
Pageable, Sort, Filters, Query Params, Page Metadata |
| 18 |
Content Negotiation |
Accept Header, XML Support, JSON, Mime Types, Message Converters |
| 19 |
File Upload/Download |
Multipart Form, Streaming, Large File, Storage, Headers |
| 20 |
Logging & Monitoring |
Log Levels, MDC, HTTP Logs, DevTools, Actuator |
| 21 |
RestTemplate |
GET, POST, PUT, Exchange, Interceptors |
| 22 |
WebClient |
Reactive Client, Exchange, Retry, Timeout, Streaming |
| 23 |
CORS Handling |
Allow Origin, Pre-flight, Headers, Config, Spring Boot |
| 24 |
Cache for REST |
Cache-Control, ETag, Last-Modified, Redis Cache, TTL |
| 25 |
Rate Limiting |
Bucket4j, API Gateway, Quotas, Retry After, Limits |
| 26 |
Metrics & Observability |
Micrometer, Prometheus, Grafana, Trace ID, Span ID |
| 27 |
API Documentation |
OpenAPI Spec, Swagger UI, Annotations, Example Values, Codegen |
| 28 |
Deployment Strategies |
Docker Container, Reverse Proxy, Load Balancer, Cloud, SSL/TLS |
| 29 |
Testing REST API |
JUnit, Mockito, WebMvcTest, MockMvc, Testcontainers |
| 30 |
Final Project |
Full CRUD API, JWT Security, Pagination, Swagger, Docker |