A practical springdoc-openapi setup, shown twice where it differs: once for Spring Boot 2.7 (springdoc 1.x, javax) and once for Spring Boot 3 and 4 (springdoc 2.x / 3.x, jakarta). Dependencies, metadata, a working Authorize button for JWT, reverse proxies, error responses and what to switch off in production.

