Spring Boot 4 introduces built-in API versioning support via the `spring.mvc.apiversion.*` configuration properties. Two versioning strategies are covered: HTTP header-based and request path-based. The tutorial walks through defining versioned REST controllers using the `version` field in mapping annotations (e.g., `@PostMapping(version = "v1.2")`), supporting version ranges like `v1.0+`. Client-side versioning is also supported via `RestClient`, `WebClient`, and `RestTestClient` with `ApiVersionInserter`. Integration with Springdoc OpenAPI 3.0.0 for grouped API docs is attempted but currently has issues. Full code examples and curl test commands are provided.

9m read timeFrom piotrminkowski.com
Post cover image
Table of contents
Source CodeIntroductionDesign API for Versioning with Spring BootTesting API versioning with Spring Boot REST clientOpenAPI for Spring Boot API versioningConclusion

Sort: