将多个参数发布到web api控制器操作

时间:2015-04-17 13:07:06

标签: asp.net-web-api controller parameter-passing action

我正在开发一个web api项目(后端),我正在寻找一些更优化的方法来从前端获取多个参数。有很多方法,比如

i) name each parameter in action parameter stack
ii)  extract from request body like Request.Content.ReadAsStringAsync().Result;
iii) define complex types (model) and use that type to receive values. like MyAction(UserLog log)

我必须创建数百个可能需要不同数量参数的函数。我不想使用上面的第一个选项,它对于大数据来说是忙乱的。 第二个是令人困惑,因为没人能预测要发布的内容。 第三个迫使我创建数百个输入模型。那么还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用form data collection 它基本上是一个键值对,允许一般的元素。

修改 - 另一个link

另一种选择是在Post动词上应用动态对象参数。

E.g。

 public string Post(dynamic value)
 {
    string s = "";
    foreach (dynamic item in value)
    {
        s = s + item.content + " ";
    }
    return s;
 }