路由到控制器中的类对象

问题描述 投票:1回答:1

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

在这个例子中,我正在使用GetPerson方法,但是人总是为空。

我正在使用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; }
    }
c# asp.net-web-api c#-4.0 asp.net-web-api2 asp.net-web-api-routing
1个回答
1
投票

您缺少一个引用,告诉Controller从哪里获取Person。

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

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

您可以在Asp.Net here上阅读Parameterbinding

© www.soinside.com 2019 - 2024. All rights reserved.