如何在 bidi 环处理程序中获取表单数据?

How to get form data in bidi ring handler?

我正在尝试访问 bidi.ring 处理程序中的表单数据。表单提交与 bidi.ring 处理程序关联,我无法在请求中获取表单数据。

我在一些博客中找到了form-params。但是请求对象根本就没有这个。我还检查了 params route-params。都是nil.

供参考:


(defn index-handler [request]
  (if (= (:request-method request) :post)
   (let [title (get (:form-params request) "title")]
     (println title))))

(defn handler []
  (make-handler ["/" {"" index-handler}]))


(defrecord HttpServer [server]
  component/Lifecycle
  (start [this]
    (assoc this :server (http/start-server (handler) {:port 8080}))) ...)

我错过了什么?

您似乎没有进一步的中间件设置。您至少需要 wrap-params. See the docs of bidi 才能详细了解操作方法。