Каждый запрос в моем приложении проходит через пользовательский перехватчик, где он проверяет значение поля sessionid, которое передается как один из параметров в полезной нагрузке запроса (метод post).
Если это url paramter, то мы можем использовать следующий фрагмент для перехвата параметра.
Map<String, Object> parameters =
actionInvocation.getInvocationContext().getParameters();
String sessionid = parameters.get("sessionId");
Какой может быть способ перехватить этот параметр в перехватчике, если «sessionId» отправляется как часть запроса части.
Я устал под фрагментом кода, чтобы поймать перехватчик, и он работает нормально, но на более поздних стадиях в теле классов действий недоступно для чтения. Если мы читаем дважды, то тело запроса не доступно для повторного чтения.
public String intercept(ActionInvocation actionInvocation) throws Exception {
Log.debug(getClass().getName(), "intercept", "Debug enter");
ActionContext context = actionInvocation.getInvocationContext();
HttpServletRequest request = (HttpServletRequest) context.get(HTTP_REQUEST);
RestPostBody restBody= new Gson().fromJson(request.getReader(), RestPostBody.class);
}