【问题标题】:Ring-Clojure/Ring-Json Cannot Open Input StreamRing-Clojure/Ring-Json 无法打开输入流
【发布时间】:2014-06-18 16:58:12
【问题描述】:

我正在使用 ring-json。在定义我的应用时,我这样做:

  (wrap-json-params)
  (wrap-json-body)
  (wrap-json-response)

在我的路线中,我有这个:

  (POST "/messages" {params :params session :session} (process-message params session))

process-message 函数现在除了 println 什么都不做。当我将 json 数据发布到路由时,我看到数据出现错误,但无法弄清楚为什么会出现错误:

java.lang.IllegalArgumentException: Cannot open <{"var1" "hey", "var2" "ho"}> as an InputStream.

任何帮助将不胜感激...

【问题讨论】:

  • 您是否将 application/json 设置为请求的内容类型?
  • 这是在我的请求头中:"Content-Type" = "application/json; charset=utf-8";

标签: clojure ring compojure


【解决方案1】:

您不能同时拥有 wrap-json-params 和 wrap-json-body,wrap-json-params 是 wrap-json-body 的替代品,请尝试删除 wrap-json-param!

【讨论】:

    【解决方案2】:

    好吧,我仍然不知道为什么会出现错误,但是当我使用 ring-middleware-format 而不是 ring-json 时,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 2012-10-20
      • 1970-01-01
      • 2019-01-21
      • 2017-03-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多