Fix Ring example

Maybe it is not perfect solution but at least it works. It was somewhat weird that the front page of the lib contains non working examples.
This commit is contained in:
Audrius 2021-04-22 09:27:07 +03:00 committed by GitHub
parent 1ab075bd35
commit 02004cac8d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -85,24 +85,28 @@ 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).
```clj
(require '[muuntaja.core :as m])
(require '[reitit.ring :as ring])
(require '[reitit.coercion.spec])
(require '[reitit.ring.coercion :as rrc])
(require '[reitit.ring.middleware.muuntaja :as muuntaja])
(require '[reitit.ring.middleware.parameters :as parameters])
(def app
(ring/ring-handler
(ring/router
["/api"
["/math" {:get {:parameters {:query {:x int?, :y int?}}
:responses {200 {:body {:total pos-int?}}}
:handler (fn [{{{:keys [x y]} :query} :parameters}]
{:status 200
:body {:total (+ x y)}})}}]]
:responses {200 {:body {:total int?}}}
:handler (fn [{{{:keys [x y]} :query} :parameters}]
{:status 200
:body {:total (+ x y)}})}}]]
;; router data affecting all routes
{:data {:coercion reitit.coercion.spec/coercion
:middleware [rrc/coerce-exceptions-middleware
{:data {:coercion reitit.coercion.spec/coercion
:muuntaja m/instance
:middleware [parameters/parameters-middleware
rrc/coerce-request-middleware
rrc/coerce-response-middleware]}})))
muuntaja/format-response-middleware]}})))
```
Valid request: