Routing
Routing w ASP.NET Core to mechanizm, który odpowiada za przetwarzanie żądań HTTP i przekierowywanie ich do odpowiedniego kontrolera i akcji. Routing opiera się na mapowaniu adresu URL żądania na odpowiedni kontroler i akcję.
W ASP.NET Core routing jest skonfigurowany w klasie Startup.cs w metodzie ConfigureServices() za pomocą metody AddControllers() lub AddMvc() w przypadku kontrolerów MVC. Metoda ta dodaje routing do aplikacji i rejestruje kontrolery w aplikacji. Przykładowy kod konfiguracji routing w ASP.NET Core:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddRouting(options =>
{
options.LowercaseUrls = true;
options.AppendTrailingSlash = true;
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
// ...
}
W powyższym przykładzie metoda AddControllers() dodaje kontrolery do aplikacji, a metoda AddRouting() dodaje routing i konfiguruje opcje, takie jak "LowercaseUrls" i "AppendTrailingSlash". Metoda UseRouting() konfiguruje middleware routingu, a metoda MapControllers() mapuje adresy URL do akcji kontrolera.
Routing przekazywane żądaniem HTTP
Routing w ASP.NET Core opiera się na szablonach adresów URL i parametrach, które mogą być przekazywane z żądaniem HTTP. Na przykład, poniższy kod konfiguruje szablon adresu URL dla akcji "Get" kontrolera "ProductController" z parametrem "id":
W tym przypadku adres URL będzie miał postać "/Product/{id}", gdzie "{id}" jest parametrem przekazywanym z żądaniem HTTP. Routing w ASP.NET Core automatycznie dopasuje wartość parametru z żądania do parametru akcji "id".
Warto zaznaczyć, że routing w ASP.NET Core jest elastyczny i może być dostosowany do potrzeb konkretnego projektu. Dlatego ważne jest, aby zrozumieć, jak działa routing i jak go skonfigurować w swojej aplikacji.