【问题标题】:WebApi receive parameters including dynamic list using FromBodyWebApi 使用 FromBody 接收参数,包括动态列表
【发布时间】:2016-03-10 00:20:07
【问题描述】:

我正在尝试在 webapi 中接收以下 JSON 格式

    {   
    "name": "Matt",
    "age": "24",
    "payload": {"key1": "value1", "key2": "value2"}
    }

这里的有效载荷是动态的,它可以有任何键和值。

我的 webapi 看起来像

    public class Person
    {
        public string name{ get; set; }
        public int age{ get; set; }
        public string payload { get; set; }
    }

    public async Task<HttpResponseMessage> Post([FromBody]Person value)
    {
      // Getting name and age but not payload.
    }

问题

FromBody 是获取此值的方法吗?如果是的话,我在这里缺少什么。如果否,此类输入的最佳做法是什么?

【问题讨论】:

    标签: asp.net-mvc asp.net-web-api asp.net-web-api2


    【解决方案1】:

    是的,应该使用[FromBody]。您可以使用IDictionary&lt;string,string&gt; 作为有效负载。

    public class Person
    {
        public string name{ get; set; }
        public int age{ get; set; }
        public IDictionary<string,string> payload { get; set; }
    }
    
    
    public async Task<HttpResponseMessage> Post([FromBody]Person value)
    {
        var value1 = value.payload["key1"];
        var value2 = value.payload["key2"];
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 2023-04-02
      • 2015-10-26
      • 2019-08-08
      • 1970-01-01
      相关资源
      最近更新 更多