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:
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)
|