São objetos JSON e DTO (objetos de transferência de dados)a mesma coisa, ou eles são completamente diferentes? No caso de uma arquitetura REST, as solicitações HTTP de entrada podem ser enviadas como JSON a partir do cliente, depois serializadas para objetos CLR, uma vez recebidas no servidor.
Nesse caso em particular, o JSON seria considerado o DTO, ou o objeto serializado seria considerado como o DTO?
Eu sou muito novo para a transferência de dados entre vários sistemas, então agradeço a ajuda.
Respostas:
5 para resposta № 1Um DTO é simplesmente um padrão de design para representação de dados e pode ser formatado como JSON, XML ou qualquer outra coisa.
JSON é o tipo de serialização. DTO é o objeto serializado.
A parte, de lado: O JSON faz mais do que apenas transferência de dados, mas não acho que esse detalhe seja importante no contexto de sua pergunta. O importante é que, se você usar os aspectos comportamentais do JSON, não estará mais lidando com um DTO como um todo. O DTO deve ser sem comportamento.
0 para resposta № 2
Como a resposta de Fenton menciona, um DTO (objeto de transferência dinâmica) é um conceito e não algo especificamente
JSON, XML, etc são especificações em si, que é o que eu acho que ele quer dizer dizendo "JSON é o tipo de serialização. DTO é o objeto serializado".
Baseado em um post em martinfowler.com Eu acho que é a terminologia correta para dizer "você pode serializar DTO como JSON". Ou seja, um objeto JSON pode ser um DTO.