@Override protected void initializeProvider(InterceptorProvider interceptorProvider, Bus bus) { BeanValidationInInterceptor in = new JAXRSBeanValidationInInterceptor(); JAXRSBeanValidationOutInterceptor out = new JAXRSBeanValidationOutInterceptor(); out.setSupportMultipleValidations(supportMultipleValidations); if (validationProvider != null) { in.setProvider(validationProvider); out.setProvider(validationProvider); } interceptorProvider.getInInterceptors().add(in); interceptorProvider.getOutInterceptors().add(out); }
factory.setFeatures(asList(new LoggingFeature(), swaggerFeature())); factory.setBus(cxf()); factory.setInInterceptors(Arrays.< Interceptor< ? extends Message > >asList(new JAXRSBeanValidationInInterceptor())); factory.setOutInterceptors(Arrays.< Interceptor< ? extends Message > >asList(new JAXRSBeanValidationOutInterceptor())); return factory.create();
protected void run() { JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean(); sf.setResourceClasses(BookStoreWithValidation.class); sf.setResourceProvider(BookStoreWithValidation.class, new SingletonResourceProvider(new BookStoreWithValidation())); sf.setProvider(new ValidationExceptionMapper() { @Override public Response toResponse(ValidationException exception) { Response r = super.toResponse(exception); return JAXRSUtils.toResponseBuilder( r.getStatus()).type("application/xml").entity(new Book("Validation", 123L)).build(); } }); sf.setAddress("http://localhost:" + PORT + "/"); BeanValidationInInterceptor in = new JAXRSBeanValidationInInterceptor(); in.setProvider(new BeanValidationProvider(new JAXRSParameterNameProvider())); sf.setInInterceptors(Arrays.< Interceptor< ? extends Message > >asList( in)); sf.setOutInterceptors(Arrays.< Interceptor< ? extends Message > >asList( new JAXRSBeanValidationOutInterceptor())); sf.create(); }