getInputStreamがすでに呼び出されていることを示すHttpServletResponseからBuffered Readerを取得しようとすると、不正な状態例外が発生します。 servletRequest.getReader()
とservletRequest.getInputStream()
の両方に書き込むことは違法であるIllegalStateException:この要求に対してgetInputStream()がすでに呼び出されている
@POST
@Path("/getReport")
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_JSON)
public void getReport(@Context HttpServletRequest servletRequest, @Context HttpServletResponse servletResponse, @Context UriInfo uriInfo)
throws ServletException, IOException{
JSONObject jobj = new JSONObject(new JSONTokener(servletRequest.getReader()));
ummmどのように呼び出されていますか?私はgetInputStream()を呼び出すのではなく、getReader()は私の最初の行です。 – Garvice
あなたのフィルターが呼び出していることを確認できますか?デバッグする場合は、RequestWrapperを実装し、getInputStream()でデバッグを追加します。 –