From 8b266a036fdd02f1f8578de38460e41f0446d7dd Mon Sep 17 00:00:00 2001 From: Travis Shears Date: Thu, 5 Jun 2025 11:45:43 +0200 Subject: [PATCH] add muuntaja to decode json bodies --- deps.edn | 5 ++++- src/snippets/api.clj | 8 +++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/deps.edn b/deps.edn index 4e40983..783227e 100644 --- a/deps.edn +++ b/deps.edn @@ -4,7 +4,10 @@ ;; logging, required by jetty: org.slf4j/slf4j-simple {:mvn/version "2.0.16"} - ;; routing: + ;; json decoding + metosin/muuntaja {:mvn/version "0.6.11"} + +;; routing: metosin/reitit {:mvn/version "0.9.1"} ;; convenient package of "default" middleware: diff --git a/src/snippets/api.clj b/src/snippets/api.clj index f3ca2d5..d5e195e 100644 --- a/src/snippets/api.clj +++ b/src/snippets/api.clj @@ -2,14 +2,15 @@ (:require [ring.adapter.jetty :as jetty] [clojure.pprint :as pprint] + [muuntaja.middleware :as mm] [reitit.ring :as rr])) (defn handle-ping [args] (pprint/pprint args) {:status 200, :body "ok"}) -(defn handle-create-snippet [args] - (pprint/pprint args) +(defn handle-create-snippet [{body :body-params}] + (pprint/pprint body) {:status 200, :body "snippet created"}) (defn wrap [handler id] @@ -19,7 +20,8 @@ (def app (rr/ring-handler (rr/router - ["/api" {:middleware [[wrap :api]]} + ["/api" {:middleware [mm/wrap-format + [wrap :api]]} ["/ping" {:get handle-ping}] ["/snippet" {:post handle-create-snippet}]]) (rr/create-default-handler)))