До сих пор мы использовали jquery AJAX, и если мы хотим перехватить какие-либо параметры в перехватчике, который используется, как показано ниже
public String intercept(ActionInvocation actionInvocation) throws Exception {
Map<String, Object> sessionAttributes =
actionInvocation.getInvocationContext().getSession();
Map<String, Object> parameters =
actionInvocation.getInvocationContext().getParameters();
String[] sid = (String[]) parameters.get("sessionId");
}
Теперь мы делаем запрос Rest, и все параметры передаются как тело запроса в почтальоне. Если мы используем приведенный выше код, мы не можем получить какие-либо параметры, которые передаются как тело в JSON.
struts.xml
<interceptor-ref name="json"></interceptor-ref>
<interceptor-ref name="customSessionInterceptor"></interceptor-ref>
Даже если я размещу перехватчик json как первый и после моего пользовательского перехватчика, он не срабатывает.
Класс перехватчика
public class SessionInitInterceptor implements Interceptor {
privtae String sessionId;
//getter and setters
@Override
public String intercept(ActionInvocation actionInvocation) throws
Exception {
//Want to catch sessionid here which is passed from request body
}
}