Package com.example.springrest.controllers


package com.example.springrest.controllers
REST controllers that define the public API of the application.

Controllers are the entry point for HTTP requests. They expose CRUD operations on domain entities (like Product) as REST endpoints. Each controller delegates business logic to the service layer and transforms entities into DTOs for client-safe responses.

Responsibilities

  • Map HTTP requests to service calls using @RequestMapping and its variants.
  • Apply validation on request bodies and parameters (e.g., @Valid, @Min).
  • Return appropriate response entities with status codes and payloads.
  • Document endpoints with Swagger/OpenAPI annotations.

Notes

  • Parameter-level validations (e.g., @Min on IDs) are shown in early chapters but will only be fully enforced when @Validated and method validation mare introduced in Part III.
  • Exception handling is not done directly in controllers — instead, GlobalExceptionHandler centralizes error handling for consistency.

Example


 GET /api/products?page=0&size=20
 POST /api/products {"name":"Coffee Mug","price":12.99}
 
  • Classes
    Class
    Description
    REST controller for managing products.