如何在Clojure Compojure/Ring项目中获取“HttpInputOverHTTP”的内容?
如何获取传入的如何在Clojure Compojure/Ring项目中获取“HttpInputOverHTTP”的内容?,clojure,Clojure,如何获取传入的POSThttp请求的:body#object[org.eclipse.jetty.server.HttpInputOverHTTP 0x42c3599b”的内容HttpInputOverHTTP@42c3599b“]在Compojure/Ring项目中 我知道这个:body由一个名为data的部分组成,它的MIME类型是text-plain,另一个名为excel的部分MIME类型是application/excel Islurped了:body的内容,它显示: 您可以找到一个基本
POST
http请求的:body#object[org.eclipse.jetty.server.HttpInputOverHTTP 0x42c3599b”的内容HttpInputOverHTTP@42c3599b“]
在Compojure/Ring项目中
我知道这个:body
由一个名为data
的部分组成,它的MIME类型是text-plain
,另一个名为excel
的部分MIME类型是application/excel
Islurp
ed了:body
的内容,它显示:
您可以找到一个基本示例,我强烈推荐:
(ns ringtest
(:require
[ring.adapter.jetty :as jetty]
clojure.pprint))
;; Echo (with pretty-print) the request received
(defn handler [request]
{:status 200
:headers {"content-type" "text/clojure"}
:body (with-out-str (clojure.pprint/pprint request))})
(defn -main []
;; Run the server on port 3000
(jetty/run-jetty handler {:port 3000}))
手动解析二进制流将很困难。按如下方式包装处理程序:
(包装多部分参数处理程序选项)
该中间件解析主体并用解析的数据填充:params
参数
有关更多详细信息,请参阅文档。这与此无关,无法解决问题。见公认的答案。