ASP.NET Core 3.1 / 5 WeatherForecast 示例 Web API 项目引发错误 404
Posted
技术标签:
【中文标题】ASP.NET Core 3.1 / 5 WeatherForecast 示例 Web API 项目引发错误 404【英文标题】:ASP.NET Core 3.1 / 5 WeatherForecast sample Web API project throws error 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
有什么帮助吗?
谢谢
【问题讨论】:
【参考方案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代码,让我们找出这个路由不起作用的原因。
【讨论】:
以上是关于ASP.NET Core 3.1 / 5 WeatherForecast 示例 Web API 项目引发错误 404的主要内容,如果未能解决你的问题,请参考以下文章
通过 ASP.NET Core 3.1/5.0 MVC 中的脚本使用选定的 ''value='' 填充数据库
在 swagger ui 中使用 asp.net core 3.1 中的 Swashbuckle 6.0.5 使 AuthorizationUrl 可配置
[WebApi]ASP.Net Core 中使用JWT认证(3.1版本,5.0也可以使用)
[WebApi]ASP.Net Core 中使用JWT认证(3.1版本,5.0也可以使用)