Используя Spring, как мне получить содержимое HttpServletResponse в перехватчике postHandle и в случае перенаправления ошибки - PullRequest
1 голос
/ 12 мая 2011

Все мои контроллеры возвращают JSON-ответ.Как часть обработки сообщений, как я проверяю содержимое ответа JSON, а в случае ошибок - как перенаправить.Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 13 мая 2011

Операции JSON в Spring основаны на MappingJacksonHttpMessageConverter.Если вы хотите записать результат, расширить его и переопределить метод записи ИЛИ использовать аспект этого метода:

@Aspect
 public class MyLogger {

   @Pointcut("execution(org.springframework.http.converter.AbstractHttpMessageConverter.write(..))")
   public void myPointCut() { }

   @AfterReturning(pointcut="myPointCut()",returning="result")
   public void logMethodEntry(JoinPoint jp) {
      ...
   }

}

Чтобы управлять ошибками, вы можете использовать аннотацию ExceptionHandler для ваших методов / классов:

@ExceptionHandler(YourException.class)
@ResponseStatus(value = HttpStatus.NOT_FOUND)
public Map<String, String> notFoundHandler(Exception e){
    return ...;
}

Надеюсь, это поможет;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...