Java Access Rest метод по пути из ContainerRequestFilter - PullRequest
0 голосов
/ 25 октября 2018

пытается выполнить валидацию, если вызванный метод 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.

...