Replace springdoc-openapi's Swagger UI
springdoc-openapi inspects your @RestController classes and produces a complete OpenAPI document with
no manual annotation-to-JSON wiring — it publishes that document at /v3/api-docs and layers Swagger UI
on top of it at /swagger-ui.html. Turning off the UI without losing the generated document is a
one-line property change, since the two are already separate features under the hood.
Disable the bundled UI
# application.properties
springdoc.swagger-ui.enabled=false
The JSON document keeps being generated and served — springdoc.api-docs.enabled defaults to true
independently of the UI flag, so /v3/api-docs doesn’t go anywhere.
Serve GetMan as a static page
Spring Boot serves anything under src/main/resources/static/ directly, so a plain HTML file needs no
controller at all:
<!-- src/main/resources/static/api-docs.html -->
<div id="api-docs" style="height: 100vh"></div>
<script src="https://cdn.getman.dev/latest/getman-ui.js"></script>
<script>
GetMan.launch(document.getElementById('api-docs'), { url: '/v3/api-docs' });
</script>
Rebuild and /api-docs.html renders GetMan against the exact document springdoc was already generating
for Swagger UI.
If you’ve moved the api-docs path
Some setups customize springdoc.api-docs.path (default /v3/api-docs) to fit an existing API gateway
prefix. If yours is customized, update the url passed to GetMan.launch() to match — the two settings
are independent, so springdoc won’t update it for you.
See the Swagger UI alternative comparison for the feature differences this swap buys you, beyond just disabling the bundled UI.
Try it with your own spec
Paste any OpenAPI or Swagger URL and see it rendered live — no signup, no install.
Open the explorer