路由到控制器中的类对象

时间:2018-06-22 07:25:47

标签: c# asp.net-web-api c#-4.0 asp.net-web-api2 asp.net-web-api-routing

是否可以创建路由,并用类调用控制器方法?

在此示例中,我使用的是GetPerson方法,但是person始终为空。

我正在使用GET

WebApiConfig
    config.Routes.MapHttpRoute(
                    name: "person",
                    routeTemplate: "person/{firstName}/{lastName}",
                    defaults: new { controller = "Person", action = "GetPerson" });

控制器

    public HttpResponseMessage GetPerson(Person person)
            {
                // person always null here
                //DO STUFF!
            }

型号

public class Person
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }

1 个答案:

答案 0 :(得分:1)

您缺少参考,告诉控制器从何处获取Person。

在您的情况下,将[FromUri]添加到您的参数中,如下所示:

public HttpResponseMessage GetPerson([FromUri] Person person)
    {
            //DO STUFF!
    }

您可以在Asp.Net here

中阅读有关参数绑定的信息。