Skip to content

Commit c15f3c5

Browse files
committed
json support
1 parent 80d77a4 commit c15f3c5

6 files changed

Lines changed: 21 additions & 2 deletions

File tree

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.nrepl-port
2+
/target/
3+
.lein*
4+
config.edn
5+
.idea
6+
*.iml

dev/local.clj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
;; Local REPL configuration
2+
3+
(alter-var-root #'config meta-merge {})

profiles.clj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
;; Local profile overrides
2+
3+
{:profiles/dev {:env {}}
4+
:profiles/test {}}

project.clj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
[meta-merge "0.1.1"]
1111
[ring "1.4.0"]
1212
[ring/ring-defaults "0.1.5"]
13-
[ring-jetty-component "0.2.2"]]
13+
[ring-jetty-component "0.2.2"]
14+
[ring/ring-json "0.3.1"]
15+
[cheshire "5.1.1"]]
1416
:plugins [[lein-environ "1.0.0"]
1517
[lein-gen "0.2.2"]]
1618
:generators [[duct/generators "0.3.0"]]
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
(ns modern-clj-web.endpoint.example
22
(:require [compojure.core :refer :all]
3-
[clojure.java.io :as io]))
3+
[ring.util.response :refer [response]]))
44

55
(defn example-endpoint [config]
66
(routes
7+
(GET "/hello" [] (response {:hello "world"}))
78
(GET "/" [] "Hello World")))

src/modern_clj_web/system.clj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@
66
[meta-merge.core :refer [meta-merge]]
77
[ring.component.jetty :refer [jetty-server]]
88
[ring.middleware.defaults :refer [wrap-defaults api-defaults]]
9+
[ring.middleware.json :refer [wrap-json-body wrap-json-response]]
910
[modern-clj-web.endpoint.example :refer [example-endpoint]]))
1011

1112
(def base-config
1213
{:app {:middleware [[wrap-not-found :not-found]
14+
[wrap-json-body {:keywords? true}]
15+
[wrap-json-response]
1316
[wrap-defaults :defaults]]
1417
:not-found "Resource Not Found"
1518
:defaults (meta-merge api-defaults {})}})

0 commit comments

Comments
 (0)