@Produces public ValidationExceptionMapper validationExceptionMapper() { return new ValidationExceptionMapper(); }
@Override public Response toResponse(ValidationException exception) { Response.Status errorStatus = Response.Status.INTERNAL_SERVER_ERROR; if (exception instanceof ConstraintViolationException) { StringBuilder responseBody = addMessageToResponse ? new StringBuilder() : null; final ConstraintViolationException constraint = (ConstraintViolationException) exception; for (final ConstraintViolation< ? > violation: constraint.getConstraintViolations()) { String message = buildErrorMessage(violation); if (responseBody != null) { responseBody.append(message).append("\n"); } LOG.log(Level.WARNING, message); } if (!(constraint instanceof ResponseConstraintViolationException)) { errorStatus = Response.Status.BAD_REQUEST; } return buildResponse(errorStatus, responseBody != null ? responseBody.toString() : null); } return buildResponse(errorStatus, addMessageToResponse ? exception.getMessage() : null); }
@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(); } });
builder = builder(validationEM.toResponse((ValidationException) ex)). header(RESTHeaders.ERROR_CODE, ClientExceptionType.RESTValidation.name()). header(RESTHeaders.ERROR_INFO, ClientExceptionType.RESTValidation.getInfoHeaderValue(
@Produces public ValidationExceptionMapper validationExceptionMapper() { return new ValidationExceptionMapper(); }
@Override public Set< Object > getSingletons() { Set<Object> singletons = new HashSet<>(); singletons.add(new JacksonJsonProvider()); singletons.add(new ValidationExceptionMapper()); singletons.add(new JAXRSBeanValidationFeature()); return singletons; }
@Override public Set< Object > getSingletons() { Set<Object> singletons = new HashSet<>(); singletons.add(new JacksonJsonProvider()); singletons.add(new ValidationExceptionMapper()); singletons.add(new JAXRSBeanValidationFeature()); return singletons; }
/** * @see {@link javax.ws.rs.core.Application#getSingletons()} */ @Override public Set<Object> getSingletons() { log.error("Osgiliath: registering cxf servlet"); Swagger2Feature feature = new Swagger2Feature(); // customize some of the properties feature.setBasePath("/api"); feature.setResourcePackage(HelloServiceJaxRS.class.getPackage().getName()); return Sets.<Object> newHashSet(helloService, swagger, new JAXBElementProvider<Object>(), // new ExceptionXmlMapper(), new SwaggerSerializers(), new ValidationExceptionMapper(), // new JAXRSBeanValidationInInterceptor(), // new JAXRSBeanValidationOutInterceptor(), new JacksonJsonProvider()); } }
protected void run() { JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean(); sf.setResourceClasses(BookStoreWithValidationPerRequest.class); sf.setProvider(new ValidationExceptionMapper()); sf.setAddress("http://localhost:" + PORT + "/"); sf.setInvoker(new JAXRSBeanValidationInvoker()); sf.create(); }