Skip to content

arc90/ring-json

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ring-JSON

Build Status

Standard Ring middleware functions for handling JSON requests and responses.

Installation

To install, add the following to your project :dependencies:

[ring/ring-json "0.2.0"]

Usage

The wrap-json-response middleware will convert any response with a collection as a body (e.g. map, vector, set, seq, etc) into JSON:

(use 'ring.middleware.json
     'ring.util.response)

(defn handler [request]
  (response {:foo "bar"}))

(def app
  (wrap-json-response handler))

The wrap-json-body middleware will parse the body of any request with a JSON content-type into a Clojure data structure:

(use 'ring.middleware.json)

(defn handler [request]
  (prn (get-in request [:body "user"]))
  (response "Uploaded user."))

(def app
  (wrap-json-body handler))

The wrap-json-params middleware will parse any request with a JSON content-type and body and merge the resulting parameters into a params map:

(use 'ring.middleware.json)

(defn handler [request]
  (prn (get-in request [:params "user"]))
  (response "Uploaded user."))

(def app
  (wrap-json-params handler))

License

Copyright © 2013 James Reeves

Distributed under the MIT License, the same as Ring.

About

Ring middleware for handling JSON

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Clojure 100.0%