c# - 尝试从 ASP.NET Core 5 Web 应用程序运行 Api 控制器功能时找不到 404
问题描述
我正在尝试在我的 ASP.NET core 5 Razor Pages Web 应用程序中创建一个 API 控制器。
Api
我在 Visual Studio 中命名的文件夹中创建了 Api 控制器。
然后,当我尝试运行以下 url 来测试 api 控制器是否工作时,我得到一个 404 未找到:
https://localhost:345345/api/saveimage
我错过了什么?
Api 控制器(SaveImageController.cs):
[Route("api/[controller]")]
[ApiController]
public class saveImageController : ControllerBase
{
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "test", "test2" };
}
}
解决方案
即使为您的控制器使用文件夹“Api”也可以,将控制器保存在名为“Controllers”的文件夹中是正常的。
请注意,Razor 页面使用基于文件夹的路由,这同样不适用于控制器。
在 Startup#ConfigureServices 中,确保你有这个:
services.AddControllers();
在 Startup#Configure 中,确保你有这个:
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllers();
}