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

标签 c# asp.net-web-api

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

相关文章:

c# - 套接字编程的替代方案是什么?

c# - 了解 C# 中的构建器模式

c# - REST服务认证

asp.net-web-api - ASP.NET 核心 HttpGet 单一 Web API

cookies - Owin cookie 身份验证设置-cookie 未保存在浏览器中

c# - 使用 C# 将插入推送到 SQL Server?

c# - SqlBulkCopy - 将行以及附加值添加到数据库中

c# 如何在此设置中实现背景?

reactjs - 自定义错误消息是 Axios POST 的响应正文,在 catch 中抛出错误? (包含代码)

c# - Api Controller 获取实现接口(interface)的所有类型