Scenár: Keď frontend volá backend API, chceme, aby backend vrátil jednotné rozhranie JSON modelu a dáta vrátené rôznymi rozhraniami sú zabalené do dátového poľa zjednoteného rozhrania.
Pôvodný prístup bol vrátiť rovnaký modelový objekt pre všetky nastavenia rozhrania, čo bolo možné, ale bolo to trochu zdĺhavé.
V ASP.NET WebAPI, plnom HTTP požiadavke, je diagram vývoja nasledovný:
Moje vlastné chápanie MessageHandlerov je middleware v ASP.NET Core.
Napríklad:
Ukazuje sa, že vracajú json obsah:
Radi by sme sa vrátili k nasledujúcemu formátu:
{"success":true,"message":"ok","data":["value1","itsvse.com"]} Všetky modely návratu rozhrania obsahujú polia ako úspech, správa a podobne.
Model entity jednotnej odpovede
Vytvorte nový objekt ApiHandler s nasledujúcim kódom:
Zaregistrujte vlastné MessageHandlery v konfiguračnom súbore WebApiConfig s nasledujúcim kódom:
Použite predvolený ovládač ValuesController v novom projekte a upravte ho nasledovne:
Skúste sa pripojiť k nášmu API rozhraniu, renderovanie je nasledovné:
(Koniec)
|