Lytter til pod’en nå og dere toucher/anbefaler compojure. Jeg ville helt klart heller sett på reitit (som dere nevner) eller bidi, av den enkle grunn at compojure er macro-basert (og dermed helt helvete hvis man ønsker å gjøre ting set ikke var tenkt til (som f.eks å legge på swagger)), mens de to andre er data-baserte.
@slipset Kan skrive under på det, har lekt med compojure-api for swagger tidligere. Meget solid produkt, men ikke spesielt gøy å jobbe med for å si det sånn.
Vi har (muligens) et open-source bibliotek på trappene for å generere swagger med compojure.
Greia var at compojure-api gjør alt for mye, og vi ville kun ha swagger.
(ns hello-world.core
(:require [compojure-swagger :refer :all]
[hello-world.my-specs :refer [some-spec]]
[hello-world.my-handlers :refer [some-handler]]))
(def app
(routes
(swagger-api
{:path "/api-docs"
:version "0.1"
:title "The best API in the world"}
(context "/api" []
(with-swagger
(GET "/" [] "<h1>Hello World</h1>")
{:summary "Example endpoint"})
(with-swagger
(POST "/" request (some-handler request)
{:summary "Example point endpoint"
:parameters {:body some-spec}}))))))
fra readme (som jeg ser trenger litt finpuss).