Операции 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 ...;
}
Надеюсь, это поможет;)