Я поддерживаю большой Java проект Spring Framework, и у меня есть вопрос, касающийся лучших практик.
Можно ли размещать аннотации для классов DTO?
Мои DTO (объекты передачи данных) находятся в отдельном модуле общих файлов JAR с собственным файлом pom.xml
. Насколько я понимаю, модуль commons состоит в том, что он должен оставаться свободным от бизнес-логики c и сохранять только самые основные c зависимости.
Недавно я столкнулся с проблемой, когда мне нужно сообщить Джексону, какие поля нужно заполнять. (де) сериализовать до json. Это проще всего сделать с помощью аннотаций. Но это также означает, что я должен включить библиотеку Джексона Json в модуль commons - чего мне, возможно, придется избегать ради наилучшей практики и правильного дизайна.
@JsonInclude(Include.NON_NULL)
public class MyCustomDTO {
...
}
Это нормально для делать? Если нет, то каков лучший метод?
Дополнительный вопрос: как можно игнорировать некоторые поля в MyCustomDTO
без использования аннотаций. Я пытался переместить аннотацию в свой класс реализации веб-службы, но это не работает.