【发布时间】:2019-08-15 14:19:28
【问题描述】:
我有一个普通的控制器类 extends AbstractController,我通过创建一个新的 SimpleUrlHandlerMapping bean 将其插入到 Spring 的处理程序映射机制中。
在我的课堂上,我需要读取原始 POST 数据,即使 Content-Type 是 application/x-www-form-urlencoded。这在 Servlet 规范中有些棘手,因为为了做到这一点,您需要调用 request.getInputStream() 或 request.getReader() 在您访问任何 request.getParameter*()方法。否则,后者将消耗输入流,将不再可用。
在我的课堂上,我没有调用任何 getParameter*() 方法,但是当 Content-Type 为 application/x-www-form-urlencoded 时,我仍然看到一个空的请求正文。这意味着 Spring 在处理对我的类的控制之前调用了 getParameter*() 方法之一。
哪个班级正在这样做,我该如何预防?
(过分热心的编辑请注意:这个问题是 Spring Boot 特有的。它不是其他“原始 POST 数据”问题的重复。)
【问题讨论】:
标签: spring-boot post urlencode