有了方法/ Action ObtainValue,我想在方法被调用时给它分配一个不同的名字,所以我使用了ActionName属性
[ActionName("GetValueByID")]
public string ObtainValue(int id)
{
return "value";
}
不过我也可以使用Route属性,如下图
[Route("Api/Values/GetValueByID")]
public string ObtainValue(int id)
{
return "value";
}
所以我的问题是,有区别吗?应该使用一个还是另一个?如果我同时使用两者呢,哪个优先?
最佳答案
ActionName :是方法的操作(特定于资源)名称。目的是为特定方法提供用户友好的名称,例如。 FetchEmployeeData 到 GetEmployee...您不能为带有“actionname”的前缀指定 Controller 名称
路由:是定义完全限定的 URL(更通用)到 URL 模式 ....它用于了解用户的完整资源路径...使用“Route”,您可以指定以“/”分隔的 Controller 名称..与在 routeconfig 的 maproute 方法中指定完全限定的 URL 路由相同
简单来说,我们可以说,“ActionName”用于特定的方法(资源),并且 另一方面,我们使用“路由”来定义 URL 模式
关于c# - Asp Net MVC Web Api、操作名称或路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49056920/