首页 > 解决方案 > 路由到控制器中的类对象

问题描述

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

在此示例中,我正在使用该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; }
    }

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

解决方案


您缺少一个参考,告诉控制器从哪里获取 Person 。

在您的情况下,像这样添加[FromUri]到您的参数中:

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

您可以在此处阅读 Asp.Net 中的参数绑定


推荐阅读