Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Para suporte a essa estrutura instale via nuget o pacote Tnf.App.Dto disponível em: https://www.myget.org/F/tnf/api/v3/index.json.

...

Não se trata apenas de segurança, trata-se de ocultar dados. O serviço de aplicação deve retornar à camada de apresentação o que ele precisa. Não mais, nem menos. 

 Problemas com serialização e lazy load

...

O uso de DTOs evitam problemas como os descritos acima porque são criados para retornar estruturas especificas de dados para que nenhuma informação excessiva seja trafegada erroneamente.

API TOTVS

 

Os DTOs de requisição e resposta estão de acordo com o padrão de API TOTVS, e isso ajuda os produtos TOTVS à aderir esse padrão.

Estrutura para Envio e Resposta de Mensagens

No pacote Tnf.App.Dto os seguintes objetos:

Enumerations

DtoRequestBase

Essa classe representa todo objeto de envio tratado como "request" em sua aplicação. Você pode realizar a herança dessa classe ao criar um parâmetro para a entrada de um método por exemplo.

Notification

Representa uma notificação. Principalmente usada para colocar o Notification pattern em prática retornando estruturas de notificações ao invés de exceções pela aplicação.

Internamente esta classe contém uma estrutura como: Code, Message, Exception e Internal Code.

DtoResponseBase

Essa classe representa todo objeto de envio tratado como "response" em sua aplicação.

Quando você conter um método de validação por exemplo em um serviço, que deve retornar notificações caso a entidade não esteja apta a ser inserida, você pode criar um classe que representa essa resposta fazendo a herança dessa estrutura.

Essa classe possui internamente uma estrutura de Notifications com métodos que possibilitam o gerenciamento e validação de erros como: AddNotification e ErrorExists.

ResultStatus

Enum com códigos para mensagens de retorno.

Se a aplicação que estiver utilizando o TNF for Web então ele servirá como Status Http.

Request

RequestAllDto

Essa classe contém os parâmetros padronizados pela API TOTVS para métodos de GetAll.

RequestDto

Essa classe contém os parâmetros padronizados pela API TOTVS para métodos de Get.

Response

IDto

Essa interface contém os parâmetros padronizados pela API TOTVS para métodos que possuem algum trafego de objetos DTOs.

Objetos de aplicação que são DTOs e irão trafegar pela aplicação e/ou por requisições, precisam implementar essa interface.

ListDto<>

Essa classe representa a lista de retorno com os parâmetros padronizados pela API TOTVS para objetos DTOsCaso você não deseje realizar a herança da classe você pode utilizar ela de forma genérica: DtoResponseBase<TResult>, onde TResult será uma propriedade nomeada Data para retorno de alguma estrutura existente.