Merge pull request #487 from audriu/patch-1

Fix Ring example
This commit is contained in:
Tommi Reiman 2021-04-22 20:51:34 +03:00 committed by GitHub
commit 40efc2d9d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -85,24 +85,29 @@ Optionally, the parts can be required separately.
A Ring routing app with input & output coercion using [data-specs](https://github.com/metosin/spec-tools/blob/master/README.md#data-specs). A Ring routing app with input & output coercion using [data-specs](https://github.com/metosin/spec-tools/blob/master/README.md#data-specs).
```clj ```clj
(require '[muuntaja.core :as m])
(require '[reitit.ring :as ring]) (require '[reitit.ring :as ring])
(require '[reitit.coercion.spec]) (require '[reitit.coercion.spec])
(require '[reitit.ring.coercion :as rrc]) (require '[reitit.ring.coercion :as rrc])
(require '[reitit.ring.middleware.muuntaja :as muuntaja])
(require '[reitit.ring.middleware.parameters :as parameters])
(def app (def app
(ring/ring-handler (ring/ring-handler
(ring/router (ring/router
["/api" ["/api"
["/math" {:get {:parameters {:query {:x int?, :y int?}} ["/math" {:get {:parameters {:query {:x int?, :y int?}}
:responses {200 {:body {:total pos-int?}}} :responses {200 {:body {:total int?}}}
:handler (fn [{{{:keys [x y]} :query} :parameters}] :handler (fn [{{{:keys [x y]} :query} :parameters}]
{:status 200 {:status 200
:body {:total (+ x y)}})}}]] :body {:total (+ x y)}})}}]]
;; router data affecting all routes ;; router data affecting all routes
{:data {:coercion reitit.coercion.spec/coercion {:data {:coercion reitit.coercion.spec/coercion
:middleware [rrc/coerce-exceptions-middleware :muuntaja m/instance
:middleware [parameters/parameters-middleware
rrc/coerce-request-middleware rrc/coerce-request-middleware
rrc/coerce-response-middleware]}}))) rrc/coerce-response-middleware
muuntaja/format-response-middleware]}})))
``` ```
Valid request: Valid request: