我已经将数据发布到基座端点“ / my-post”。我已经将该端点路由为:
[[["/" {:get landing} ^:interceptors [(body-params/body-params) ...]
["/my-post {:post mypost-handler}
....
所以在我看来,这意味着body-params拦截器也将为/ my-post触发。
在mypost-handler中,我有:
(defn mypost-handler
[request]
****HOW TO ACCESS THEN FORM DATA HERE ****
)
现在如何在此处访问表单数据?从打印请求中可以看到我有一个#object [org.eclipse.jetty.sever.HttpInputOverHTTP ..],在对我有用之前,显然需要进一步处理。
(我必须说,Pedestal的文档充其量只是粗略的……)
这样的事情应该起作用。注意mypost-handler路线上的body-params拦截器
(defn mypost-handler
[{:keys [headers params json-params path-params] :as request}]
;; json-params is the posted json, so
;; (:name json-params) will be the value (i.e. John) of name property of the posted json {"name": "John"}
;; handle request
{:status 200
:body "ok"})
(defroutes routes
[[["/mypost-handler" {:post mypost-handler}
^:interceptors [(body-params/body-params)]
]
]])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句