Le middleware est un composant logiciel assemblé dans un pipeline d'applications Gérer les demandes et les réponses.
Chaque composant choisit de transmettre ou non la demande au composant suivant pipeline et peut effectuer certaines opérations avant et après le composant suivant Appelé dans le pipeline.
Les extensions de carte sont utilisées comme conventions pour les branches de pipeline.
La méthode d'extension de carte est utilisée pour faire correspondre les délégués de la demande en fonction du délégué demandé. path.Map accepte simplement un chemin et une fonction pour configurer le middleware individuel pipeline.
Dans l'exemple ci-dessous, toute requête avec le chemin de base /maptest sera traitée Via le pipeline configuré dans la méthode HandleMapTest.
private static void HandleMapTest(IApplicationBuilder app){ app.Run(async context =>{ await context.Response.WriteAsync("Map Test Successful"); }); } public void ConfigureMapping(IApplicationBuilder app){ app.Map("/maptest", HandleMapTest); }
En plus du mappage basé sur le chemin, la méthode MapWhen prend également en charge le mappage basé sur les prédicats.
Forking de middleware qui permet de créer des pipelines séparés avec une grande flexibilité fashion.Tout prédicat de type Func
private static void HandleBranch(IApplicationBuilder app){ app.Run(async context =>{ await context.Response.WriteAsync("Branch used."); }); } public void ConfigureMapWhen(IApplicationBuilder app){ app.MapWhen(context => { return context.Request.Query.ContainsKey("branch"); }, HandleBranch); app.Run(async context =>{ await context.Response.WriteAsync("Hello from " + _environment); }); }
La carte peut également être imbriquée
app.Map("/level1", level1App => { level1App.Map("/level2a", level2AApp => { // "/level1/level2a" //... }); level1App.Map("/level2b", level2BApp => { // "/level1/level2b" //... }); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!