| Introduction to REST |
What is REST, REST Principles, HTTP Methods (GET, POST, PUT, DELETE), Idempotency |
✅ |
|
|
|
| Spring REST Overview |
Spring MVC, @RestController, @RequestMapping, DispatcherServlet |
✅ |
✅ |
|
|
| Request Handling |
@GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping |
✅ |
✅ |
|
|
| Path and Query Parameters |
@PathVariable, @RequestParam, Default Values, Optional Parameters |
✅ |
✅ |
|
|
| Request and Response Bodies |
@RequestBody, @ResponseBody, JSON and XML Conversion, HttpMessageConverter |
✅ |
✅ |
✅ |
|
| Content Negotiation |
Produces/Consumes, MediaType, Accept Headers, Custom Converters |
|
✅ |
✅ |
|
| ResponseEntity & HTTP Status Codes |
ResponseEntity, HttpStatus, Custom Responses, Standard REST Practices |
✅ |
✅ |
✅ |
|
| Exception Handling |
@ExceptionHandler, @ControllerAdvice, Custom Error Response, Global Exception Handling |
|
✅ |
✅ |
|
| Validation |
@Valid, @NotNull, @Size, BindingResult, Custom Validators |
✅ |
✅ |
✅ |
|
| Data Binding & Conversion |
@InitBinder, Type Conversion, Formatters, Custom Converters |
|
✅ |
✅ |
|
| CORS (Cross-Origin Resource Sharing) |
@CrossOrigin, Global CORS Config, Security Config Integration |
|
✅ |
✅ |
|
| HATEOAS (Hypermedia as the Engine of Application State) |
HATEOAS Concepts, RepresentationModel, Link Building, HAL Format |
|
|
✅ |
✅ |
| Pagination & Sorting |
Pageable, Page, Sort, Spring Data REST Pagination |
|
✅ |
✅ |
|
| Filtering and Projection |
Request Filtering, DTO Projection, Jackson Views, Dynamic Fields |
|
✅ |
✅ |
✅ |
| File Upload & Download |
MultipartFile, File Upload Endpoint, Download Response, MediaType Config |
|
✅ |
✅ |
|
| Spring Data REST |
RepositoryRestResource, Exposing Repositories, Projections, Excerpts |
|
✅ |
✅ |
✅ |
| Versioning REST APIs |
URI Versioning, Header Versioning, Media Type Versioning, Best Practices |
|
✅ |
✅ |
✅ |
| API Documentation |
Swagger (Springfox), OpenAPI 3, SpringDoc Integration, Custom Documentation |
|
✅ |
✅ |
✅ |
| Security in REST |
Basic Auth, JWT, OAuth2, CSRF Protection, Secure Endpoints |
|
✅ |
✅ |
✅ |
| Testing REST APIs |
MockMvc, WebTestClient, RestTemplate, TestRestTemplate, Integration Testing |
✅ |
✅ |
✅ |
|
| RestTemplate |
GET/POST Requests, Error Handling, Exchange Method, Interceptors |
✅ |
✅ |
|
|
| WebClient (Reactive) |
Mono, Flux, Reactive Streams, Asynchronous Calls, Error Handling |
|
✅ |
✅ |
✅ |
| Asynchronous REST Processing |
@Async, Callable, DeferredResult, CompletableFuture |
|
✅ |
✅ |
✅ |
| Caching in REST APIs |
ETag, Cache-Control, Conditional GET, Spring Cache Integration |
|
|
✅ |
✅ |
| Rate Limiting |
API Throttling, Bucket4j, Redis-based Rate Limiting, Gateway Integration |
|
|
✅ |
✅ |
| API Gateway Integration |
Spring Cloud Gateway, Routing, Filters, Rate Control |
|
|
✅ |
✅ |
| Hypermedia and HAL Explorer |
HAL Browser, Link Discovery, Hypermedia Controls |
|
|
✅ |
✅ |
| Reactive REST (Spring WebFlux) |
Router Functions, Handler Functions, Functional Endpoints |
|
✅ |
✅ |
✅ |
| Error Response Design |
Problem Details RFC 7807, Custom Error JSON, Validation Error Models |
|
✅ |
✅ |
|
| Metrics & Observability |
Micrometer, Prometheus, API Performance Metrics, Logging |
|
✅ |
✅ |
✅ |
| Performance Optimization |
Connection Pooling, Async Calls, Compression, Lazy Loading |
|
✅ |
✅ |
✅ |
| Internationalization (i18n) |
MessageSource, LocaleResolver, Error Message Localization |
|
✅ |
✅ |
|
| REST API Design Patterns |
DTO Pattern, Builder Pattern, Adapter Pattern |
|
✅ |
✅ |
✅ |
| Best Practices |
Naming Conventions, Consistent HTTP Status Codes, Statelessness, Documentation |
✅ |
✅ |
✅ |
✅ |
| Deployment |
Containerization, Docker, Kubernetes, CI/CD Integration |
|
✅ |
✅ |
✅ |
| Resilience & Fault Tolerance |
Circuit Breaker, Retry Mechanisms, Fallback, Resilience4j Integration |
|
|
✅ |
✅ |
| Advanced REST Patterns |
Richardson Maturity Model, Idempotency Keys, Long Polling |
|
|
✅ |
✅ |
| GraphQL vs REST |
Comparison, Use Cases, Coexistence Strategies |
|
|
✅ |
✅ |
| Event-driven REST APIs |
Webhooks, SSE (Server-Sent Events), Event Streaming |
|
|
✅ |
✅ |
| Real-world Scenarios |
Building CRUD APIs, E-commerce API, Authentication API |
✅ |
✅ |
✅ |
✅ |
| API Monitoring |
Logging, Tracing, Distributed Tracing, ELK Stack Integration |
|
✅ |
✅ |
✅ |