Scénario : Lorsque le frontend appelle l’API backend, nous voulons que le backend renvoie une interface JSON unifiée de modèle, et que les données retournées par différentes interfaces soient encapsulées dans le champ de données de l’interface unifiée.
L’approche initiale consistait à retourner le même objet modèle pour tous les paramètres de l’interface, ce qui était possible, mais c’était un peu verbeux.
Dans la ASP.NET WebAPI, une requête HTTP complète, le diagramme de flux est le suivant :
Ma propre compréhension de MessageHandlers est le middleware Middleware dans ASP.NET Core.
Par exemple:
Il s’avère que le contenu json est retourné :
["value1 », « itsvse.com"] Nous souhaitons revenir au format suivant :
{"success » :true,"message » :"ok »,"data » :["value1 »,"itsvse.com"]} Tous les modèles de retour d’interface contiennent des champs tels que succès, message, etc.
Modèle d’entité de réponse unifiée
Créez un nouvel objet ApiHandler avec le code suivant :
Enregistrez un MessageHandlers personnalisé dans le fichier de configuration WebApiConfig avec le code suivant :
Utilisez le contrôleur ValuesController par défaut dans le nouveau projet, et modifiez-le comme suit :
Essayez d’accéder à notre interface API, le rendu est le suivant :
(Fin)
|