All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.dropwizard.java8.Java8Bundle Maven / Gradle / Ivy

The newest version!
package io.dropwizard.java8;

import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import io.dropwizard.Bundle;
import io.dropwizard.java8.jersey.OptionalMessageBodyWriter;
import io.dropwizard.java8.jersey.OptionalParamFeature;
import io.dropwizard.java8.validation.valuehandling.OptionalValidatedValueUnwrapper;
import io.dropwizard.jersey.validation.Validators;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;

import javax.validation.ValidatorFactory;

public class Java8Bundle implements Bundle {
    @Override
    public void initialize(final Bootstrap bootstrap) {
        bootstrap.getObjectMapper().registerModules(new Jdk8Module());
        bootstrap.getObjectMapper().registerModules(new JavaTimeModule());

        final ValidatorFactory validatorFactory = Validators.newConfiguration()
                .addValidatedValueHandler(new OptionalValidatedValueUnwrapper())
                .buildValidatorFactory();
        bootstrap.setValidatorFactory(validatorFactory);
    }

    @Override
    public void run(final Environment environment) {
        environment.jersey().register(OptionalMessageBodyWriter.class);
        environment.jersey().register(OptionalParamFeature.class);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy