【问题标题】:GSON can't render my HTTPServletRequest parametersGSON 无法呈现我的 HTTPServletRequest 参数
【发布时间】:2014-10-23 12:33:33
【问题描述】:

前端向后端发送 AJAX 调用。我将参数放在标题中。

在后端我使用 java 和 GSON 来呈现来自 HTTPServletRequest 的数据

 Gson gson = new Gson();
 WalkIn walkinRequest = gson.fromJson(req.getReader(), WalkIn.class);

我的walkin 课程如下所示:

    static class WalkIn {
       int paymentType;
       int numberOfPassengers;
       int busStopFromId;
       int busStopToId;
    }

当我在服务器 (apache tomcat) 上运行它时,它可以工作。但是如果我在我的计算机上运行这个本地,我会得到一个错误:

java.lang.IllegalStateException: STREAMED
at org.eclipse.jetty.server.Request.getReader(Request.java:802)

参数已发送,因为我可以通过以下方式访问数据:

req.getParameter("numberOfPassengers")

有人知道为什么这个 GSON/阅读器可以在服务器端工作,但不能在我的计算机本地工作吗?

【问题讨论】:

    标签: java ajax json httprequest gson


    【解决方案1】:

    从异常来看,这可能与GSON无关,而是在流上调用getReader方法。

    在这里找到类似的东西link

    此异常表示“不要使用阅读器,而是使用输入流 因为已经从 流”。

    你试过用getInputStream代替吗?

    【讨论】:

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