# Immutable dto in jackson

DevFeed: [Immutable dto in jackson](<https://devfeed.tech/articles/immutable-dto-in-jackson-27268.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201704/immutable-dto/>)

Published: 2017-04-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Jackson](<https://devfeed.tech/topics/jackson.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [constructor](<https://devfeed.tech/tags/constructor.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [jackson](<https://devfeed.tech/tags/jackson.md>), [json](<https://devfeed.tech/tags/json.md>)

## AI overview

This tutorial explains how Jackson 2.7 can deserialize immutable Java DTOs from JSON by using constructor-based object creation and @ConstructorProperties. It also describes using Lombok's @RequiredArgsConstructor to generate the required constructor metadata.

## Source excerpt

Immutability and functional programming are hot right now. But how to achieve immutability with objects deserialized from json? Luckily there is pretty old feature introduced in jackson 2.7.0 which uses constructor based object creation and uses @ConstructorProperties (introduced in java7). Read more