ASP.NET Core - Métodos de extensão Map
![]() |
Hoje vou apresentar os métodos de extensão Map da ASP .NET Core. |
Se você deseja inserir alguma lógica de middleware específica para alguma URL específica, pode fazer o mesmo usando o Método de Extensão de Map em qualquer tipo de Aplicativo ASP.NET Core.
![]() ![]() |
Antes de usar o Método Map, vamos primeiro dar uma olhada na definição deste método que é mostrada a seguir. Existem duas versões sobrecarregadas disponíveis para este método no ASP.NET Core.
O método Map Ramifica o pipeline de solicitação com base nas correspondências do caminho de solicitação fornecido. Se o caminho da solicitação começar com o caminho fornecido, a ramificação será executada, caso contrário, o Middleware simplesmente será ignorado.
A seguir temos os parâmetros do método:
Vejamos a seguir um exemplo de uso deste método.
Usando o método Map
Vamos criar um novo projeto usando o template ASP .NET Core Empty no VS 2019 com o nome AspnMap.
A seguir vamos incluir o seguinte método na classe Startup. Esta é a lógica personalizada que queremos executar para uma URL específica.
private void MapMeuMiddleware(IApplicationBuilder app) { app.Use(async (context, next) => { await context.Response.WriteAsync("URL especifica do meu Middleware \n"); }); } |
Agora, precisamos registrar o componente Middleware usando o método Map no método Configure da classe Startup sando o código abaixo:
app.Map("/testemap", MapMeuMiddleware); |
Neste código fornecemos o caminho como
“/testemap” e também fornecemos o segundo
parâmetro como o método MapMeuMiddleware que
acabamos de criar.
Com isso, quando o request chegar, se ele contiver
/testemap como parte da URL, apenas esse componente de Middleware
será executado caso contrário ele será simplesmente ignorado.
Agora vamos completar o código da classe Startup para testar o projeto:
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting;
namespace AspnMap public void Configure(IApplicationBuilder app, IWebHostEnvironment env) app.Map("/testemap", MapMeuMiddleware); app.Run(async context => |
Agora, vamos salvar e executar o aplicativo.
O resultado pode ser visto abaixo:
Como você pode ver, o Middleware que é configurado usando o método Map Extension não será executado.
Isso ocorre porque a URL de solicitação de entrada não inclui o caminho /testemap como parte da URL.
Vamos então modificar a URL para incluir /testemap e veremos a resposta a seguir:
Agora, o primeiro middleware é executado e, em seguida, o método Map faz com que o método com o meu Middleware seja executado, que é projetado especificamente para essa solicitação.
E estamos conversados.
"Quanto ao mais,
irmãos, tudo o que é verdadeiro, tudo o que é honesto, tudo o que é justo,
tudo o que é puro, tudo o que é amável, tudo o que é de boa fama, se há
alguma virtude, e se há algum louvor, nisso pensai."
Filipenses 4:8
Referências: