尝试 运行 Api 来自 ASP.NET 核心 5 网络应用程序的控制器功能时未找到 404
404 not found when trying to run Api Controller function from ASP.NET core 5 web app
我正在尝试在我的 ASP.NET 核心 5 Razor Pages Web 应用程序中创建一个 API 控制器。
我在 Visual studio 中名为 Api
的文件夹中创建了 Api 控制器。
然后,当我尝试 运行 以下 url 来测试 api 控制器是否正常工作时,我收到 404 not found:
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();
}
我正在尝试在我的 ASP.NET 核心 5 Razor Pages Web 应用程序中创建一个 API 控制器。
我在 Visual studio 中名为 Api
的文件夹中创建了 Api 控制器。
然后,当我尝试 运行 以下 url 来测试 api 控制器是否正常工作时,我收到 404 not found:
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();
}