Я определил спецификацию openapi и в настоящее время генерирую соответствующие классы (модели) из спецификаций в моей целевой папке с помощью плагина openapi-generator-maven-plugin. Мне было интересно, лучше ли сопоставлять сгенерированные классы с классом сущности перед сохранением объектов в базе данных Postgres, или я могу пропустить этот шаг сопоставления и сократить накладные расходы на код и обслуживание двух классов.
Проведение предварительного исследования
Я предлагаю этого не делать. Давайте разделим внутреннюю часть (субъекты домена) и внешнюю часть (созданные OpenAPI DTO) приложения. Это окупится, когда вы захотите, например. внесите небольшое изменение в API, которое не должно влиять на домен, или наоборот, выполните некоторый рефакторинг объектов домена, не нарушая REST API.
Если вас беспокоят затраты на обслуживание, вы можете использовать MapStruct или аналогичную библиотеку для автоматического сопоставления слоев, при условии, что это сопоставление (почти) тривиально.
Openapi будет генерировать DTO, которые вряд ли будут напрямую связаны с вашими объектами. Лично я бы не хотел, чтобы мой API был так тесно связан с моей схемой.