Я хочу создать регистратор, который помещает все данные сообщения в мой файл журнала. Я добавил перехватчик в Spring и добавил все необходимое в метод preHandle
, где я считываю данные поста (в моем случае в большинстве случаев это необработанный json)
final StringBuilder sb = new StringBuilder(128);
if (request.getMethod().equals("POST")) {
sb.append("] [data=");
StringBuffer jb = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null)
jb.append(line);
reader.reset();
} catch (Exception e) {
}
sb.append(jb.toString());
}
Большая часть кода взята из HttpServletRequest для получения данных JSON POST, где вы можете прочитать комментарии, которые вы можете прочитать данные поста только один раз! Если вы сделаете это до завершения запроса, вы получите исключение
java.lang.IllegalStateException: READER
Как я могу прочитать данные POST из запроса, не нарушая дальнейших действий?