diff --git a/modules/reitit-swagger/src/reitit/swagger.cljc b/modules/reitit-swagger/src/reitit/swagger.cljc index 64a9c8c8..f09986aa 100644 --- a/modules/reitit-swagger/src/reitit/swagger.cljc +++ b/modules/reitit-swagger/src/reitit/swagger.cljc @@ -92,6 +92,7 @@ (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]] 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}})]