Как я могу пометить геттеры для работы с Jackson так, чтобы рецензент понимал мой код?

Как доказать ревьюверу, что геттер, добавленный в Java Bean, неявно используется и IntelliJ неверно показывает его как неиспользуемый?
  • 2 июля 2024 г. 11:52
Ответы на вопрос 2
Для того чтобы пометить геттеры для работы с Jackson в Java Bean, вы можете использовать аннотацию `@JsonProperty` перед каждым геттером, указывая имя поля, с которым этот геттер связан. Например:
```java
public class Person {
    private String name;
    
    @JsonProperty("name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
```
Таким образом, ревьюер сразу поймет, что этот геттер используется для работы с библиотекой Jackson при сериализации и десериализации JSON.

Чтобы доказать ревьюеру, что IntelliJ неверно показывает геттер как неиспользуемый, вы можете сослаться на то, что этот геттер используется библиотекой Jackson при обработке JSON данных, и поэтому он должен быть оставлен в коде даже если IntelliJ его не отмечает как используемый. Также можно предоставить ссылки на официальную документацию по использованию аннотаций Jackson с геттерами.
Общий подход такой - не использовать доменную модель в интеграциях. 
Для общения с внешним миром у вас должны быто DTO классы, которые служат только для того чтобы отдать ответ/получить запрос.
Идеальным решением будут для этого record-ы - иммутабельные и имеющие геттеры "из коробки".
В таком случае такие вопросы отпадут сами по себе, как не имеющие смысла.
Похожие вопросы