从POST请求获取POST正文数据到Pedestal

白色的

我已经将数据发布到基座端点“ / 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章