Índice |
---|
O TNF faz uso do Notification Pattern em sua estrutura para o retorno e agrupamento de menagens que podem ocorrer na aplicação.
A utilização desse Pattern auxilia o desenvolvedor na manutenção do código, na centralização de notificações, na extensibilidade do código, na redução do uso de exceções e no desacoplamento em retornos de métodos e camadas pois usando esse Pattern o desenvolvedor irá acumular notificações em um objeto único daquele request sem precisar retornar nada e que pode ser usado em qualquer lugar do sistema.
Para suporte a essa estrutura instale via nuget o pacote Tnf.App.Bus.Notifications disponível em: https://www.myget.org/F/tnf/api/v3/index.json.
A classe NotificationEvent contém os parâmetros e atributos padronizados pela API TOTVS para a lista de resposta de erro.
Já que o Pattern utilizado é um Pattern Cross-Cutting então ele pode ser acessado de qualquer lugar do sistema.
Classes que herdam de Tnf.App.Domain.Services.AppDomainService, Tnf.App.Application.Services.AppApplicationService e Tnf.App.AspNetCore.Mvc.Controllers.TnfAppController possuem um campo chamado Notification que representa o objeto único daquele request.
Para adicionar, recuperar e verificar se existe Notificações no objeto do request:
Para auxiliar o desenvolvedor a aderir o padrão API TOTVS, foi criado o objeto Tnf.AspNetCore.Mvc.Response.ErrorResponse com os parâmetros e atributos padronizado por esse padrão.
Se houver Notificações de erro durante o fluxo de um sistema web, no retorno do controller esse objeto irá ser criado com todas as Notificações de erro e retornará um IActionResult contendo ele: