【问题标题】:ASP.NET Core 3.1 / 5 WeatherForecast sample Web API project throws error 404ASP.NET Core 3.1 / 5 WeatherForecast 示例 Web API 项目引发错误 404
【发布时间】:2021-12-27 00:44:36
【问题描述】:
我在 Visual Studio 2019 中创建了一个 ASP.NET Core 5 Web API 项目,默认情况下只有一个控制器,并且它返回一个 http 404 错误。
这是控制器(很简单)
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
[HttpGet]
public string Get()
{
return "test";
}
}
当我调用 http://localhost:5000/weatherforecast 时,它总是返回 http 404。
PS:我用的是macos
有什么帮助吗?
谢谢
【问题讨论】:
标签:
http-status-code-404
asp.net-core-webapi
asp.net5
【解决方案1】:
它是一个 API,而不是一个 Rest 服务。试试这个
[ApiController]
[Route("api/[controller]/[action]")]
public class WeatherForecastController : ControllerBase
{
public string Get()
{
return "test";
}
}
和网址
http://localhost:5000/api/weatherforecast/get
【解决方案2】:
根据您的描述,我发现url的路径是正确的,建议您检查startup.cs,确保您添加了以下代码:
ConfigureServices 方法内部:
services.AddControllers();
配置方法内部:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
如果添加这些仍然不起作用,请上传startup.cs代码,让我们找出这个路由不起作用的原因。