Как получить полезную нагрузку запроса из запроса POST в пользовательском перехватчике распорок? - PullRequest
0 голосов
/ 09 июля 2019

Каждый запрос в моем приложении проходит через пользовательский перехватчик, где он проверяет значение поля 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);

     }
...