Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Значит jackson сначала создавал класс с помощью конструктора без параметров, а потом вызывал getter/setter.
Ну да, так все делают. Практически всем библиотекам сериализации необходим пустой конструктор (обычно приватный) — только Java Serialization позволено инициировать "пустые" объекты без конструктора, хотя есть способы обхода этого. Для установки данных Jackson может использовть как геттеры-сеттеры, так и прямой доступ к полям любой видимости.
компилятору необходимо передать флаг javac -parameters
Плохой способ. Ни одна из существующих IDE не подцепит это, поэтому придется устанавливать дополнительно в настройках проекта. И вообще код качественно не должет зависеть от флагов компиляции. Если Вы используете Lombok, то есть лучший способ — прописать в lombok.config:
lombok.allArgsConstructor.addConstructorProperties = trueЭто сгенерит на конструкторе @java.beans.ConstructorProperties, который Jackson умеет понимать.
@Getter
public class Fruit {
private final String name;
private final String description;
public Fruit( String name, String description) {
this.name = name;
this.description = description;
}
}
Умеем ли мы готовить Java, Kotlin RestController?