前端向后端发送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 /阅读器在服务器端工作但在我的电脑上无法工作?
答案 0 :(得分:2)
从异常情况来看,这可能与GSON无关,而是在流上调用getReader
方法。
在link
找到类似的内容此例外表示"不要使用阅读器但使用输入流 因为某些东西(可能是标题)已经从中读取过了 流"
您是否尝试过使用getInputStream
?