mirror of
https://github.com/metosin/reitit.git
synced 2025-12-16 16:01:11 +00:00
fix: remove unsupported coercions when generating swagger
If we don't remove them, :responses :content gets passed out verbatim in the swagger.json, breaking stuff. In particular, fixes the swagger.json in examples/reitit-malli-swagger. Reported broken in #669.
This commit is contained in:
parent
fbec1e2ecc
commit
01b476b342
1 changed files with 7 additions and 5 deletions
|
|
@ -68,11 +68,13 @@
|
|||
(defn- swagger-path [path opts]
|
||||
(-> path (trie/normalize opts) (str/replace #"\{\*" "{")))
|
||||
|
||||
(defn -warn-unsupported-coercions [{:keys [request responses] :as _data}]
|
||||
(defn -remove-unsupported-coercions [{:keys [request responses] :as data}]
|
||||
(when request
|
||||
(println "WARNING [reitit.coercion]: swagger apidocs don't support :request coercion"))
|
||||
(when (some :content (vals responses))
|
||||
(println "WARNING [reitit.coercion]: swagger apidocs don't support :responses :content coercion")))
|
||||
(println "WARNING [reitit.coercion]: swagger apidocs don't support :responses :content coercion"))
|
||||
(cond-> (dissoc data :request)
|
||||
responses (assoc :responses (update-vals responses #(dissoc % :content)))))
|
||||
|
||||
(defn -get-swagger-apidocs [coercion data]
|
||||
(let [swagger-parameter {:query :query
|
||||
|
|
@ -80,10 +82,10 @@
|
|||
:form :formData
|
||||
:header :header
|
||||
:path :path
|
||||
:multipart :formData}]
|
||||
(-warn-unsupported-coercions data)
|
||||
:multipart :formData}
|
||||
cleaned (-remove-unsupported-coercions data)]
|
||||
(->> (update
|
||||
data
|
||||
cleaned
|
||||
:parameters
|
||||
(fn [parameters]
|
||||
(->> parameters
|
||||
|
|
|
|||
Loading…
Reference in a new issue