пытается выполнить валидацию, если вызванный метод rest действительно существует, и, если существует, параметры доступа этого метода.в случае какого-либо исключения я хочу выбросить свое собственное исключение.Для исключений у меня уже есть логика, реализованная с WriterInterceptor, например:
@Provider
public class AppWriterInterceptor implements WriterInterceptor {
@Override
public void checkContext(WriterInterceptorContext context) throws IOException, WebApplicationException {
Object entity = context.getEntity();
if (entity instanceof Throwable) {
Throwable t = (Throwable) entity;
Map<String, Object> ret = new HashMap<>();
ret.put("message", t.getMessage());
if (t instanceof MyCustomException) {
ret.put("messageCode", ((MyCustomException) t).getMessageCode());
} else {
ret.put("messageCode", "unexpected.error");
}
context.setEntity(ret);
}
context.proceed();
}
, но при вызове моего приложения с неправильным путем, например: base_url / get-client insted из get-clinets, оно не входит в WriterInterceptor.
Также некоторые из моих остальных методов имеют параметры типа enum, и перед вызовом метода необходимо проверить, действительно ли вызванная переменная существует в enum, потому что мне нужен доступ к методу и его параметрам.как это возможно с ContainerRequestFilter.