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

20 lines
860 B
Clojure
Raw Normal View History

2017-12-03 15:43:40 +00:00
(ns example.dspec
2017-12-09 20:49:32 +00:00
(:require [reitit.ring.coercion-middleware :as coercion]
2017-12-03 15:43:40 +00:00
[reitit.ring.coercion.spec :as spec-coercion]))
(def routes
["/dspec"
["/plus" {:name ::plus
:coercion spec-coercion/coercion
:responses {200 {:schema {:total int?}}}
:get {:summary "plus with query-params"
:parameters {:query {:x int?, :y int?}}
:handler (fn [{{{:keys [x y]} :query} :parameters}]
{:status 200
:body {:total (+ x y)}})}
:post {:summary "plus with body-params"
:parameters {:body {:x int?, :y int?}}
:handler (fn [{{{:keys [x y]} :body} :parameters}]
{:status 200
:body {:total (+ x y)}})}}]])