launchSettings.json launchUrl не работает "API / значения" - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь изменить http://localhost:5001/api/values маршрут, но программа застряла этот URL.

Я прочитал это решения

Как изменить контроллер по умолчанию и действияв ASP.NET Core API?

Как перенаправить root на swagger в Asp.Net Core 2.x?

https://medium.com/quick-code/routing-in-asp-net-core-c433bff3f1a4

Все пишут одно и то же, но не работают для меня.

Мой launchSetting.json файл

{  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:54650",
      "sslPort": 44382
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "ShoppingBasketAPI": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Я пытался изменить app.UseMvc();

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing?view=aspnetcore-2.2

это тоже не работает. Откуда взялся api/values?Я не могу понять.

Мой маршрут атрибута контроллера - [Route("api/[controller]/[action]")]

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Проблема из-за Visual Studio для Mac. Я смог получить правильный URL для случайности Run With>Custom Configuration > Run Action --> Debug .Net Core Debugger

0 голосов
/ 06 мая 2019

Когда вы создадите новый проект ASP.Net Core Web API, вы увидите, что в свойстве проекта есть Launch browser настройка, которая задает api/values путь.Таким образом, вы можете изменить его на любой URL, который вы хотите, или вы можете изменить его в файле launchSetting.json

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": {
      "applicationUrl": "http://localhost:54356",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "WebApplication4": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "applicationUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Так вы увидите, что в разделе профилей будет 2 конфигурации.Один из них предназначен для IIS Express (при использовании Visual Studio для запуска вашего кода) и WebApplication4 (при запуске проекта с использованием dotnet), поэтому вы можете перейти на

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": {
      "applicationUrl": "http://localhost:54356",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "WebApplication4": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Так, когда вы используете VS для запуска проекта илиdotnet run Команда всегда будет указывать URL-адрес чванства.

...