Можете ли вы поместить (Json) аннотации на классы DTO? Вопрос о лучших практиках - PullRequest
0 голосов
/ 14 января 2020

Я поддерживаю большой Java проект Spring Framework, и у меня есть вопрос, касающийся лучших практик.

Можно ли размещать аннотации для классов DTO?

Мои DTO (объекты передачи данных) находятся в отдельном модуле общих файлов JAR с собственным файлом pom.xml. Насколько я понимаю, модуль commons состоит в том, что он должен оставаться свободным от бизнес-логики c и сохранять только самые основные c зависимости.

Недавно я столкнулся с проблемой, когда мне нужно сообщить Джексону, какие поля нужно заполнять. (де) сериализовать до json. Это проще всего сделать с помощью аннотаций. Но это также означает, что я должен включить библиотеку Джексона Json в модуль commons - чего мне, возможно, придется избегать ради наилучшей практики и правильного дизайна.

@JsonInclude(Include.NON_NULL)
public class MyCustomDTO {
...
}

Это нормально для делать? Если нет, то каков лучший метод?

Дополнительный вопрос: как можно игнорировать некоторые поля в MyCustomDTO без использования аннотаций. Я пытался переместить аннотацию в свой класс реализации веб-службы, но это не работает.

...