Scenariusz: Gdy frontend wywołuje backend API, chcemy, aby backend zwracał zunifikowany interfejs modelu JSON, a dane zwracane przez różne interfejsy są opakowane w pole danych zunifikowanego interfejsu.
Pierwotne podejście polegało na zwracaniu tego samego obiektu modelu dla wszystkich ustawień interfejsu, co było możliwe, ale było to dość rozwlekłe.
W ASP.NET WebAPI, pełnym żądaniu HTTP, schemat blokowy wygląda następująco:
Moje własne rozumienie MessageHandlers to middleware Middleware w ASP.NET Core.
Na przykład:
Okazuje się, że zwraca zawartość json:
Chcielibyśmy przywrócić następujący format:
{"success":true,"message":"ok","data":["value1","itsvse.com"]} Wszystkie modele zwrotów interfejsu zawierają pola takie jak sukces, wiadomość itp.
Model zunifikowanej jednostki odpowiedzi
Stwórz nowy obiekt ApiHandler z następującym kodem:
Zarejestruj niestandardowe MessageHandlery w pliku konfiguracyjnym WebApiConfig z następującym kodem:
Użyj domyślnego kontrolera ValuesController w nowym projekcie i zmodyfikuj go w następujący sposób:
Spróbuj uzyskać dostęp do naszego interfejsu API, renderowanie wygląda następująco:
(Koniec)
|