Skip to content

metosin/ring-swagger-ui

Repository files navigation

Ring-Swagger-UI

Clojars Project

Jar-packaged version of Swagger-UI for ring-based clojure web-apps (and other JVM apps).

Usage

Add the dependency to your project.clj file and you have full Swagger-UI ready in /swagger-ui on classpath. You can override the index.html-page by putting a new page into your local resources/swagger-ui-directory. The default URI for the api-docs is /api/api-docs but this can be changed by providing config.json.

You might also be interested in Ring-Swagger. It provides a ring handler (ring.swagger.ui/swagger-ui) which can be used to create ring handler to serve the Swagger-ui. The handler will dynamically serve config.json with provided options so you can define api-docs path from Clojure.

Usage

Example using Compojure-api and setting custom urls for swagger-docs and swagger-ui.

(defapi app
  (ring.swagger.ui/swagger-ui
    "/swagger-ui"
    :swagger-docs "/swagger-docs")
  (compojure.api.swagger/swagger-docs
    "/swagger-docs"
    :title "Sample Api"
    :description "Compojure Api sample application")
  ...)

Packaging

Initialize the submodules

git submodule init
git submodule update

New swagger-ui version

pushd ext/swagger-ui
git fetch
git checkout <new tag>
popd
git add ext/swagger-ui # Update submodule to point into new swagger-ui
vim project.clj # Edit version
git add project.clj
diff -u resources/swagger-ui/swagger-initializer.js ext/swagger-ui/dist/swagger-initializer.js
# Fix local index.html
git commit -m "New version"
git tag -a "v2.y.z" -m "v2.y.z"
git push --tags origin master # Push new tags and master
lein do clean, install

License

Swagger-UI

swagger-ui Copyright 2020-2021 SmartBear Software Inc.

SwaggerUI is licensed under Apache 2.0 license. SwaggerUI comes with an explicit NOTICE file containing additional legal notices and information.

Versioning

Follows Swagger-UI versions, except if build fix is required, then a build identifier (.e.g -1, starting from 1), can be appended.

These scripts

Copyright © 2014-2023 Metosin Oy

Distributed under the Eclipse Public License, the same as Clojure.

About

Swagger UI packaged for Ring Apps

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 10