Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 61280|Respuesta: 6

[Fuente] ASP.NET WebApi utiliza MessageHandlers para unificar el formato del modelo de la interfaz de retorno

[Copiar enlace]
Publicado en 28/10/2020 13:29:28 | | | |
Escenario: Cuando el frontend llama a la API del backend, queremos que el backend devuelva una interfaz unificada de modelo JSON, y los datos devueltos por diferentes interfaces se envuelven en el campo de datos de la interfaz unificada.

El enfoque original era devolver el mismo objeto modelo para todos los ajustes de la interfaz, lo cual se podía hacer, pero era un poco extenso.

En la ASP.NET WebAPI, una solicitud HTTP completa, el diagrama de flujo es el siguiente:



Mi propio entendimiento de MessageHandlers es el middleware de Middleware en ASP.NET Core.

Por ejemplo:

Resulta que devuelve contenido json:

["valor1", "itsvse.com"]
Nos gustaría devolver el siguiente formato:

{"éxito":true,"mensaje":"ok","datos":["valor1","itsvse.com"]}
Todos los modelos de retorno de interfaz contienen campos como éxito, mensaje, etc.

Modelo de entidad de respuesta unificada


Crea un nuevo objeto ApiHandler con el siguiente código:

Registra un MessageHandlers personalizado en el archivo de configuración WebApiConfig con el siguiente código:

Utiliza el controlador ValuesController predeterminado en el nuevo proyecto y modifícalo de la siguiente manera:

Prueba a acceder a nuestra interfaz API, el renderizado es el siguiente:



(Fin)





Anterior:Interfaz gráfica de CentOS 8 y interruptor de línea de comandos
Próximo:Un servicio basado en .NET Core en Linux
 Propietario| Publicado en 23/2/2021 17:17:21 |
jQuery intercepta los resultados devueltos por Ajax
https://www.itsvse.com/thread-9570-1-1.html
Publicado en 13/7/2021 18:20:54 |
prueba
Publicado en 8/3/2022 13:30:50 |
Aprende a aprender
Publicado en 5/6/2022 22:34:47 |
test1test1
Publicado en 24/9/2022 14:01:07 |
Pronto:Los autores son baneados o el contenido eliminado se bloquea automáticamente
Publicado en 28/11/2022 21:26:50 |
Esto es exactamente lo que quiero
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com