Unit V: Spring Boot and REST APIs

Lectures 33-40 - Spring Boot setup, REST design, CRUD APIs, and final integration

Block Overview

This block covers the final major course segment: Spring Boot application setup, REST controller design, request mapping, CRUD APIs, project structure, and final integration practice.

Course Outcome: CO-5 (K5-K6 - Synthesis & Evaluation)
Lectures Covered: 33-40
Final Project Due: Apr 19
End-Semester Exam: Apr 21-May 3

NoteLecture Materials

This week uses upcoming lecture decks. Use the Lectures Index for all available slides.


Lecture 33: Spring Boot Configuration & Setup

NoteLecture Materials

Topics Covered

  • Spring Boot project structure
  • @SpringBootApplication
  • Embedded server model
  • Configuration via application.properties
  • Maven and Gradle based setup

Lecture 34: Spring Boot Annotations & Build Systems

NoteLecture Materials

Common Annotations

  • @SpringBootApplication
  • @Configuration
  • @ComponentScan
  • @EnableAutoConfiguration
  • @RestController
  • @RequestMapping

Build Tool Focus

  • Maven coordinates dependencies through pom.xml
  • Gradle uses declarative build scripts
  • Starters simplify dependency selection

Lecture 35: Spring Boot Actuator, Runners & Logging

NoteLecture Materials

Operations Topics

  • Application runners
  • Logging levels and structured logs
  • Actuator endpoints such as /health and /metrics
  • Why observability matters in production apps

Lecture 36: REST Controllers & Request Mapping

NoteLecture Materials

Request Mapping Topics

  • @RestController
  • @GetMapping, @PostMapping, @PutMapping, @DeleteMapping
  • URL path design
  • Mapping JSON request and response bodies

Lecture 37: Request Body, Path Variable & Request Parameter

NoteLecture Materials

Parameter Handling Topics

  • @RequestBody for JSON payloads
  • @PathVariable for resource identifiers
  • @RequestParam for query-string data
  • Validation of incoming data

Lecture 38: HTTP Methods & CRUD APIs (GET, POST, PUT, DELETE)

NoteLecture Materials

CRUD API Topics

  • Mapping create, read, update, delete to HTTP verbs
  • Status codes for success and failure cases
  • Designing consistent endpoints for collections and single resources

Lecture 39: Spring Boot Code Structure & Best Practices

NoteLecture Materials

Best Practice Topics

  • Layered package structure
  • Separation of controller, service, and repository code
  • DTO usage and validation
  • Naming, logging, and maintainability guidelines

Lecture 40: Final Revision & Hands-on Integration (Spring Boot + REST)

NoteLecture Materials

Final Integration Focus

  • Connect REST endpoints to service and repository layers
  • Review common controller patterns and error handling
  • Prepare for project assembly and viva-style explanation

Key Takeaways

  • Spring Boot reduces setup friction for Java web apps
  • REST APIs rely on clear routing, data mapping, and HTTP semantics
  • Clean project structure improves maintenance and team collaboration
  • The final lectures consolidate Unit V into project-ready practice