Skip to content

Instantly share code, notes, and snippets.

@d5p
Last active June 20, 2017 19:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save d5p/cbc5002c1645f33e2ad598002a5d5e26 to your computer and use it in GitHub Desktop.
Save d5p/cbc5002c1645f33e2ad598002a5d5e26 to your computer and use it in GitHub Desktop.
(ns json-test.core
(:require [ring.adapter.jetty :as jetty]
[compojure.core :refer [defroutes GET POST]]
[compojure.route :as route]
[ring.middleware.defaults :refer [wrap-defaults api-defaults]]
[ring.middleware.keyword-params :refer [wrap-keyword-params]]
[ring.middleware.json :refer [wrap-json-params]]
[ring.util.response :refer [response]])
(:gen-class))
(defn handler [request]
(println (get request :body))
(response "Ok."))
(defroutes incoming
(POST "/incoming" req (handler req))
(route/not-found {:status "Not found."}))
(def app
(-> incoming
(wrap-defaults api-defaults)
wrap-keyword-params
wrap-json-params))
(defn start-server
[]
(jetty/run-jetty app {:port 8080}))
(defn -main
[& args]
(start-server))
(defproject json-test "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.8.0"]
[ring/ring-core "1.6.0"]
[ring/ring-jetty-adapter "1.6.0"]
[ring/ring-defaults "0.3.0"]
[ring/ring-json "0.4.0"]
[compojure "1.6.0"]]
:main ^:skip-aot json-test.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment