🍃 Spring Boot

Spring Boot REST API Development

23 lessons in this section of the Spring Boot tutorial. Work through them in order, or jump to the one you need.

  1. 1.Building REST APIs

    Spring Boot is the most widely used framework for building REST APIs in Java.

  2. 2.REST Principles

    REST (Representational State Transfer) is an architectural style for distributed hypermedia systems, defined by Roy Fielding in 2000.

  3. 3.CRUD Operations

    CRUD — Create, Read, Update, Delete — is the standard set of operations for managing persistent resources in a REST API.

  4. 4.Request Mapping

    Request mapping is how Spring Boot routes incoming HTTP requests to controller handler methods.

  5. 5.Path Variables

    Path variables extract dynamic segments from a URI directly into handler method parameters.

  6. 6.Request Parameters

    Request parameters are the key-value pairs appended to a URL after the ?

  7. 7.Request Body

    @RequestBody binds the HTTP request body to a method parameter, deserializing it from JSON (or XML) into a Java object using Spring's HttpMessageConverters.

  8. 8.ResponseEntity

    ResponseEntity<T> gives you full control over the HTTP response returned from a controller handler — status code, headers, and body in a single return value.

  9. 9.HTTP Status Codes

    HTTP status codes are the standard mechanism for communicating the result of an HTTP request.

  10. 10.REST Controller

    @RestController is the central annotation for building REST APIs in Spring Boot.

  11. 11.JSON Handling

    Spring Boot uses Jackson as its default JSON library, auto-configured through spring-boot-starter-web.

  12. 12.XML Response

    Spring Boot can serve XML responses alongside JSON using Jackson's XML extension (jackson-dataformat-xml).

  13. 13.Content Negotiation

    Content negotiation is the mechanism by which Spring Boot selects the response format — JSON, XML, CSV, or any custom media type — based on the client's Accept header…

  14. 14.File Upload API

    Spring Boot handles file uploads through MultipartFile, auto-configured by MultipartAutoConfiguration.

  15. 15.File Download API

    Spring Boot serves file downloads through ResponseEntity<Resource>.

  16. 16.Pagination

    Spring Data provides first-class pagination support through the Pageable abstraction and Page<T> return type.

  17. 17.Sorting

    Spring Data resolves Sort from request parameters automatically when Pageable is used, or as a standalone method parameter.

  18. 18.Filtering APIs

    Filtering lets clients narrow a collection to only the records they need.

  19. 19.API Versioning

    API versioning lets you evolve a REST API without breaking existing clients.

  20. 20.Validation in REST APIs

    Spring Boot integrates Jakarta Bean Validation (Hibernate Validator) out of the box via spring-boot-starter-validation.

  21. 21.Exception Handling in APIs

    Proper exception handling shapes how errors are communicated to API consumers.

  22. 22.Global Exception Handling

    @RestControllerAdvice is the central place for all exception handling in a Spring Boot REST API.

  23. 23.Custom Exceptions

    A well-designed custom exception hierarchy makes error handling explicit, consistent, and easy to extend.