我在ASP.NET Core中是新的,因为我的基础来自spring框架所以,我很难在asp.net中设置端点,所以下面是我的一些控制器和startup.cs
控制器:
[Route("api/[controller]/[action]")]
[ApiController]
public class StudentController : ControllerBase
{
[HttpPost]
[ActionName("GetData")]
在应用程序上启动.cs。使用端点((:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
当我尝试在本地运行该应用程序并访问端点http谓词(localhost:5001/api/GetData(时,它开始显示错误代码,那么我应该如何修复它呢?我应该在startup.cs中设置端点路由,还是因为在控制器中我有[HttpPost][ActionName("GetData"(]而不必设置端点路由???顺便说一句,我想我使用的是最新的asp.net核心(不过我不知道该怎么查(,Thankss
写入时:
[Route("api/[controller]/[action]")]
这意味着当用这个字符串的后缀对你的基域调用http调用时,你可以访问你的控制器\方法
在这种情况下,您要求动态地选择一个控制器,并动态地选择动作,这被称为";路由模板中的令牌替换";
写入[controller]
或[action]
时这意味着这些在运行时是动态的action
表示方法名称controller
表示控制器名称
如果是你的情况,你应该打电话https://localhost:5001/api/Student/GetData
更多信息可以在这里找到:https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-路由模板控制器动作区中的5.0#令牌替换