代码之家  ›  专栏  ›  技术社区  ›  Anders Gulbæk

路由到控制器中的类对象

  •  1
  • Anders Gulbæk  · 技术社区  · 7 年前

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

    在这个样本中,我击中了 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 回复  |  直到 7 年前
        1
  •  1
  •   Severin Jaeschke    7 年前

    你错过了一个参考,告诉控制器从哪里得到人。

    在你的情况下加上 [FromUri] 您的参数如下:

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

    您可以在Asp .NET中读取参数绑定。 here

    推荐文章