reitit/examples/ring-example/src/example/schema.clj

19 lines
830 B
Clojure
Raw Normal View History

2017-12-03 15:43:40 +00:00
(ns example.schema
(:require [schema.core :as s]
2017-12-09 21:21:03 +00:00
[reitit.coercion.schema :as schema-coercion]))
2017-12-03 15:43:40 +00:00
(def routes
2017-12-09 21:21:03 +00:00
["/schema" {:coercion schema-coercion/coercion}
2017-12-03 15:43:40 +00:00
["/plus" {:name ::plus
:responses {200 {:schema {:total s/Int}}}
:get {:summary "plus with query-params"
:parameters {:query {:x s/Int, :y s/Int}}
:handler (fn [{{{:keys [x y]} :query} :parameters}]
{:status 200
:body {:total (+ x y)}})}
:post {:summary "plus with body-params"
:parameters {:body {:x s/Int, :y s/Int}}
:handler (fn [{{{:keys [x y]} :body} :parameters}]
{:status 200
:body {:total (+ x y)}})}}]])