metosin/reitit

Add support for JSON Schema Coercion

Aperta

#273 aperta il 15 mag 2019

 (0 commenti) (0 reazioni) (0 assegnatari)Clojure (261 fork)batch import
enhancementhelp wanted

Metriche repository

Star
 (1569 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

... 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)}})}}]]

Guida contributor