1

我正在制作一个简单的 API 这将需要从 json/edn 请求中读取正文参数我试图让程序将内容回显为 edn 对象但这里似乎不起作用的是我的路线

(def routes
  (route/expand-routes
   #{["/echo" :get [body-params/body-params print-response]  :route-name :greet]}))


拦截器


(def print-response {:name ::print-response
                     :leave (fn [context]
                              (let [content-type (get-in context [:request :content-type])
                                    updated-response (assoc (-> context :response) :headers {"Content-Type" content-type}
                                                            :status  200
                                                            :body (get-in context [:request] :edn-params))]
                                (assoc context :response updated-response))
                              )
                     } 
                              
                             
)


4

1 回答 1

1

修复:将括号放在 body-params 解释实际上 body-params 是一个创建拦截器的高阶函数,因此必须调用它



(def routes
  (route/expand-routes
   #{["/echo" :get [(body-params/body-params) print-response]  :route-name :greet]}))





于 2021-10-19T07:48:25.620 回答