diff --git a/modules/reitit-swagger/src/reitit/swagger.cljc b/modules/reitit-swagger/src/reitit/swagger.cljc index 64a9c8c8..fb0c0742 100644 --- a/modules/reitit-swagger/src/reitit/swagger.cljc +++ b/modules/reitit-swagger/src/reitit/swagger.cljc @@ -82,12 +82,14 @@ :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 diff --git a/test/cljc/reitit/swagger_test.clj b/test/cljc/reitit/swagger_test.clj index 5ef99a63..9b774bb7 100644 --- a/test/cljc/reitit/swagger_test.clj +++ b/test/cljc/reitit/swagger_test.clj @@ -25,7 +25,9 @@ ["/spec" {:coercion spec/coercion} ["/plus/:z" - {:get {:summary "plus" + {:patch {:summary "patch" + :handler (constantly {:status 200})} + :get {:summary "plus" :parameters {:query {:x int?, :y int?} :path {:z int?}} :swagger {:responses {400 {:schema {:type "string"} @@ -120,7 +122,10 @@ expected {:x-id #{::math} :swagger "2.0" :info {:title "my-api"} - :paths {"/api/spec/plus/{z}" {:get {:parameters [{:in "query" + :paths {"/api/spec/plus/{z}" {:patch {:parameters [] + :summary "patch" + :responses {:default {:description ""}}} + :get {:parameters [{:in "query" :name "x" :description "" :required true @@ -312,7 +317,7 @@ (is (= ["/common/ping" "/one/ping" "/two/ping" "/two/deep/ping"] (spec-paths app "/one-two/swagger.json"))))) -(deftest swagger-ui-congif-test +(deftest swagger-ui-config-test (let [app (swagger-ui/create-swagger-ui-handler {:path "/" :config {:jsonEditor true}})]