Scenario: Når frontend kaller backend-API-et, ønsker vi at backend skal returnere et enhetlig JSON-modellgrensesnitt, og dataene som returneres av ulike grensesnitt pakkes inn i datafeltet til det enhetlige grensesnittet.
Den opprinnelige tilnærmingen var å returnere det samme modellobjektet for alle grensesnittinnstillinger, noe som kunne gjøres, men det var litt ordrikt.
I ASP.NET WebAPI, en full HTTP-forespørsel, er flytskjemaet som følger:
Min egen forståelse av MessageHandlers er mellomvare-mellomvaren i ASP.NET Core.
For eksempel:
Det viser seg å returnere json-innhold:
Vi ønsker å returnere følgende format:
{"suksess":true,"message":"ok","data":["value1","itsvse.com"]} Alle grensesnittreturmodeller inneholder felt som suksess, melding, osv.
Enhetlig responsenhetsmodell
Opprett et nytt ApiHandler-objekt med følgende kode:
Registrer en egendefinert MessageHandlers i WebApiConfig-konfigurasjonsfilen med følgende kode:
Bruk standard ValuesController-kontrolleren i det nye prosjektet, og modifiser den slik:
Prøv å få tilgang til API-grensesnittet vårt, renderingen er som følger:
(Slutt)
|