Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 61280|Resposta: 6

[Fonte] ASP.NET WebApi usa MessageHandlers para unificar o formato do modelo da interface de retorno

[Copiar link]
Publicado em 28/10/2020 13:29:28 | | | |
Cenário: Quando o frontend chama a API do backend, queremos que o backend retorne uma interface unificada de modelo JSON, e os dados retornados por diferentes interfaces sejam encapsulados no campo de dados da interface unificada.

A abordagem original era retornar o mesmo objeto modelo para todas as configurações da interface, o que podia ser feito, mas era um pouco extenso.

Na ASP.NET WebAPI, uma requisição HTTP completa, o fluxograma é o seguinte:



Meu próprio entendimento sobre MessageHandlers é o middleware de Middleware no ASP.NET Core.

Por exemplo:

Acontece que ele retorna conteúdo json:

["value1","itsvse.com"]
Gostaríamos de retornar ao seguinte formato:

{"sucesso":verdade,"mensagem":"ok","dados":["valor1","itsvse.com"]}
Todos os modelos de retorno de interface contêm campos como sucesso, mensagem, etc.

Modelo unificado de entidade de resposta


Crie um novo objeto ApiHandler com o seguinte código:

Registre um MessageHandlers personalizado no arquivo de configuração WebApiConfig com o seguinte código:

Use o controlador padrão ValuesController no novo projeto e modifique-o da seguinte forma:

Tente acessar nossa interface da API, a renderização é a seguinte:



(Fim)





Anterior:Interface gráfica do CentOS 8 e alternância na linha de comando
Próximo:Um serviço baseado no .NET Core no Linux
 Senhorio| Publicado em 23/02/2021 17:17:21 |
o jQuery intercepta os resultados retornados pelo Ajax
https://www.itsvse.com/thread-9570-1-1.html
Publicado em 13/07/2021 18:20:54 |
teste
Publicado em 08/03/2022 13:30:50 |
Aprenda a aprender
Publicado em 05/06/2022 22:34:47 |
test1test1
Publicado em 24/09/2022 14:01:07 |
Rápido:Autores são banidos ou o conteúdo removido é automaticamente bloqueado
Publicado em 28/11/2022 21:26:50 |
É exatamente isso que eu quero
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com