GSON无法呈现我的HTTPServletRequest参数

时间:2014-10-23 12:33:34

标签: java ajax json httprequest gson

前端向后端发送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 /阅读器在服务器端工作但在我的电脑上无法工作?

1 个答案:

答案 0 :(得分:2)

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

link

找到类似的内容
  

此例外表示"不要使用阅读器但使用输入流   因为某些东西(可能是标题)已经从中读取过了   流"

您是否尝试过使用getInputStream