Merge pull request #671 from metosin/fix-example

fix: remove unsupported coercions when generating swagger
This commit is contained in:
Joel Kaasinen 2024-04-19 10:32:25 +03:00 committed by GitHub
commit f41d555b62
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 5 deletions

View file

@ -17,6 +17,7 @@ We use [Break Versioning][breakver]. The version numbers follow a `<major>.<mino
* Handlers can be vars [#585](https://github.com/metosin/reitit/pull/585)
* Fetch OpenAPI content types from Muuntaja [#636](https://github.com/metosin/reitit/issues/636)
* **BREAKING** OpenAPI support is now clj only
* Fix swagger generation when unsupported coercions are present [#671](https://github.com/metosin/reitit/pull/671)
* Updated dependencies:
```clojure

View file

@ -57,6 +57,8 @@ All main modules bundled:
Optionally, the parts can be required separately.
Reitit requires Clojure 1.11.
## Quick start
```clj

View file

@ -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