Возвращать разные Dto, используя один и тот же метод репозитория с репозиториями Spring Boot - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть два DTO: один для метода get типа "/ pessoas / {id}" и другой для "/ pessoas / {id} / detalhes", где я собираюсь увидеть больше атрибутов Pessoa.

Мои коды в Kotlin.

Мой простой DTO:

interface PessoaDTO {
    val idInstitucional: UUID?
    val nome: String?
}

data class PessoaDTOImpl(override val idInstitucional: UUID?, override val nome: String?): PessoaDTO

Мой DTO с подробной информацией:

interface PessoaDetalhesDTO {
    val idInstitucional: UUID?
    val nome: String?
    val email: String?
    val telefone: String?
    val cpf: Long?
}

data class PessoaDetalhesDTOImpl(override val idInstitucional: UUID?, override val nome: String?, override val email: String?, override val telefone: String?, override val cpf: Long?): PessoaDetalhesDTO

У меня есть хранилище, которое будет доступ к моему PessoaController. Я думал о том, чтобы в моем репозитории было два метода, каждый для своего DTO.

Это мой репозиторий:

internal interface PessoaRepository : CrudRepository<Pessoa, Long>, JpaSpecificationExecutorWithProjection<Pessoa> {
    fun findByIdInstitucional(idInstitucional: UUID): PessoaDTO?
    fun findByIdInstitucional(idInstitucional: UUID): PessoaDetalhesDTO?
}

Однако у меня не может быть двух функций с одинаковым именем в репозитории для разных возвращаемых типов данных. Как с этим справиться, не создавая еще один репозиторий для подробной информации о Пессоа?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...