GetMan GetMan

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