ASP.Net 网站 API 不可用。如果更改为 "weatherforecast" 以外的名称

ASP.Net Web API is not available. If changing to a name other than "weatherforecast"

我在我的项目中使用 ASP.Net Web API 创建了 API 并且我 将 WeatherForecastController.cs 的名称更改为 APIController.cs 并更改 "launchUrl": "FETL" 而不是 launchSettings.json

中的 "launchUrl": "weatherforecast"

所以我不能 运行 我的 API,但是如果我在 launchSettings.json 中使用默认名称 WeatherForecastController.cs"launchUrl": "weatherforecast",那么可以使用。

为什么?以及如何解决?

这是launchSettings.json

WeatherForecastController.cs"launchUrl": "weatherforecast"的旧默认值

"launchUrl": "weatherforecast" in launchSettings.json WeatherForecastController.cs API result

这就是我想重命名的,但是结果不可用。

"launchUrl": "FETL" in launchSettings.json APIController.cs API result

像这样为您的控制器使用 Route,您可以使用您的控制器名称代替 DefaultController

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

并且请确保您在控制器中定义了 GET 方法,类似这样。

[HttpGet]
public IEnumerable<string> Get()
{
    return new string[] { "Welcome" };
}

我试着按照@vivek nuna 的建议

事情就是这样。 WeatherForecastController.cs Result

当我重命名它时。 APIController.cs Result