metosin/reitit

Add support for JSON Schema Coercion

Open

#273 opened on May 15, 2019

 (0 comments) (0 reactions) (0 assignees)Clojure (261 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (1,569 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

... would allow easy swagger -> reitit conversion.

Something like:

(require '[reitit.coercion.json-schema])

["/api"
 {:coercion reitit.coercion.json-schema/coercion}

 ["/order"
  {:post
   {:parameters
    {:body
     {:title "Order"
      :properties {:petId {:format "int64"
                           :type "integer"},
                   :status {:description "Order Status"
                            :enum ["placed" "approved" "delivered"]
                            :type "string"},
                   :id {:format "int64"
                        :type "integer"},
                   :shipDate {:format "date-time"
                              :type "string"},
                   :complete {:default false
                              :type "boolean"},
                   :quantity {:format "int32"
                              :type "integer"}},
      :type "object",
      :xml {:name "Order"}}}
    :handler (fn [req]
               {:status 200
                :body {:id (-> req :parameters :body :petId)}})}}]]

Contributor guide