Skip to main content
 首页 » 编程设计

c#之ASP.NET Web Api 2 通过 Id 获取

2024年05月29日35虾米姐

我有一个这样的 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。