From 6e332e46f1f7496bf94ceb42a415bfc4ef1b49ed Mon Sep 17 00:00:00 2001 From: piotr-yuxuan Date: Wed, 20 May 2020 22:44:51 +0100 Subject: [PATCH] Low-priority default :responses in Swagger spec According to meta-merge documentation, ^:displace is a good solution for default values. This is still inside the meta-merge, as I don't see where else I could put it. Perhaps a better solution is available. --- modules/reitit-swagger/src/reitit/swagger.cljc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/reitit-swagger/src/reitit/swagger.cljc b/modules/reitit-swagger/src/reitit/swagger.cljc index f09986aa..fb0c0742 100644 --- a/modules/reitit-swagger/src/reitit/swagger.cljc +++ b/modules/reitit-swagger/src/reitit/swagger.cljc @@ -82,17 +82,18 @@ :x-id ids})) accept-route (fn [route] (-> route second :swagger :id (or ::default) (trie/into-set) (set/intersection ids) seq)) + base-swagger-spec {:responses ^:displace {:default {:description ""}}} transform-endpoint (fn [[method {{:keys [coercion no-doc swagger] :as data} :data middleware :middleware interceptors :interceptors}]] (if (and data (not no-doc)) [method (meta-merge + base-swagger-spec (apply meta-merge (keep (comp :swagger :data) middleware)) (apply meta-merge (keep (comp :swagger :data) interceptors)) (if coercion (coercion/get-apidocs coercion :swagger data)) - (when-not (:responses data) {:responses {:default {:description ""}}}) (select-keys data [:tags :summary :description]) (strip-top-level-keys swagger))])) transform-path (fn [[p _ c]]