Маршрутизация по умолчанию для проекта веб-API - PullRequest
0 голосов
/ 09 июля 2020

Когда я создаю новый ASP.NET Core Web Application, выбираю шаблон проекта API и запускаю его, он перенаправляется на http://localhost:64221/weatherforecast. Могу ли я узнать, где он настраивает маршрутизацию по умолчанию на weatherforecast web api? В методе configure я не вижу маршрутизации по умолчанию на weatherforecast.

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseRouting();

        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }

Ответы [ 2 ]

3 голосов
/ 09 июля 2020

маршрут настраивается в launchSettings. json, его можно найти в свойствах введите описание изображения здесь

и это атрибуты, которые вы можете изменить, чтобы получить другой маршрут

"applicationUrl": "http://localhost:5002","launchUrl": "swagger",
1 голос
/ 09 июля 2020

Могу ли я узнать, где он настраивает маршрутизацию по умолчанию для веб-API прогноза погоды?

В методе Configure класса Startup вы можете найти этот метод endpoints.MapControllers(), который отображает только контроллеры, украшенные атрибутами маршрутизации .

А в классе WeatherForecastController вы обнаружите, что к нему применяется [Route("[controller]")], как показано ниже.

[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{ 

Кроме того, вы можете проверить исходный код MapControllers(IEndpointRouteBuilder) метода и узнать, как он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...