我正在尝试使用clojure中的ring创建一个非常简单的API。我正在使用rack.middleware.format-params中间件将输出转换为json,将输入从json转换为clojure数据结构。
我的输出工作得很好,但我不能为我的生活访问通过json发送的参数。这里有一些适用于get请求的代码,但是我无法获得POST请求以返回它收到的json
(ns testing.core
(:use [compojure.core]
[ring.middleware.format-params :only [wrap-json-params]]
[ring.middleware.format-response :only [wrap-json-response]]
[ring.adapter.jetty])
(:require [compojure.handler :as handler]))
(defroutes app-routes
(GET "/"
[]
{:body {:hello "world"}})
(POST "/"
{params :params}
{:body params}))
(def app
(-> (handler/api app-routes)
(wrap-json-params)
(wrap-json-response)))
它只返回:{}
我做错了什么?
答案 0 :(得分:6)
我是个白痴,意识到我没有发送json Content-Type标头。希望没有其他人犯同样的愚蠢错误:P