@andreasp1994 here goes:
• Swagger is a spesification (`1.*` &
2.*) and an implementation for describing http apis
• Swagger-ui is a sample app to emit an interactive ui out of an swagger spec (endpoint)
metosin/ring-swagger is a Clojure implementation for implementing the Swagger spec, emits the swagger spec + helpers to mount & integrate the swagger-ui
metosin/ring-swagger-ui is packaged version of Swagger-ui
• Openapi3 is the new Swagger (`3.*`) spesification, but the tooling is still called Swagger
you can use any of the parts separately, compojure-api (and others) are just pre-integrated with those.