我有一个这样的 ApiController
:
public class MessengerController : ApiController
{
public IEnumerable<string> GetAllMessages()
{
// irrelevant code
}
public IHttpActionResult GetMessage(int index)
{
// irrelevant code
}
}
我正在尝试使用以下 url 调用我的 GetMessage
函数:
http://localhost:58050/api/messenger/1
但这总是调用我的 GetAllMessages
函数。我错过了什么吗?这是我的 WebApiConfig
类,我没有从预生成的代码中更改它:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
最佳答案
为 GetMessage
命名参数 id
,而不是 index
。
关于c# - ASP.NET Web Api 2 通过 Id 获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32928484/