package com.pollex.pam.config;
|
|
import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module;
|
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.zalando.problem.ProblemModule;
|
import org.zalando.problem.violations.ConstraintViolationProblemModule;
|
|
@Configuration
|
public class JacksonConfiguration {
|
|
/**
|
* Support for Java date and time API.
|
* @return the corresponding Jackson module.
|
*/
|
@Bean
|
public JavaTimeModule javaTimeModule() {
|
return new JavaTimeModule();
|
}
|
|
@Bean
|
public Jdk8Module jdk8TimeModule() {
|
return new Jdk8Module();
|
}
|
|
/*
|
* Support for Hibernate types in Jackson.
|
*/
|
@Bean
|
public Hibernate5Module hibernate5Module() {
|
return new Hibernate5Module();
|
}
|
|
/*
|
* Module for serialization/deserialization of RFC7807 Problem.
|
*/
|
@Bean
|
public ProblemModule problemModule() {
|
return new ProblemModule();
|
}
|
|
/*
|
* Module for serialization/deserialization of ConstraintViolationProblem.
|
*/
|
@Bean
|
public ConstraintViolationProblemModule constraintViolationProblemModule() {
|
return new ConstraintViolationProblemModule();
|
}
|
}
|