gpt4 book ai didi

c# - 向 WebApi 发送动态表单参数?

转载 作者:行者123 更新时间:2023-11-30 22:02:16 25 4
gpt4 key购买 nike

我正在使用 WebApi 1(Visual Studio:2010)

在极少数情况下,客户端可以向方法发送可变(动态)数量的参数。 (通过 POST 动词)

我一直在尝试通过发送可变数量的参数来测试它:

POST http://.../api/Claims HTTP/1.1
Host: ...
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 13

a=1&b=2&c=4

服务器端:

[HttpPost]
public dynamic NewClaim1([FromBody] dynamic al)
{
return Request.CreateResponse(HttpStatusCode.OK, (object)al);
}

但是我在响应时得到一个空对象。 (200 OK)

尝试#2

我也尝试过 ([FromBody] object al)

尝试#3

我也试过 (object[] al)

尝试#4

  public class A //using a class holder
{
public object[] obj { get; set; }
}



[HttpPost]
public dynamic NewClaim1([FromBody] A al)
{
return Request.CreateResponse(HttpStatusCode.OK, al);
}

但没有成功

问题:

如何将动态发布参数发送到可以检索这些值的方法。

注意:

  • 我不想为每个组合创建类持有者...
  • 我不想发送 JSON。我说的是纯 post x-www-form-urlencoded
  • 我已经知道 webapi 不支持 nativly 多个 [FromBody] 参数

最佳答案

您可以使用 FormDataCollection 检索表单值.

public void PostForm(FormDataCollection formdata)
{
foreach (KeyValuePair<string, string> formEntry in formdata)
{
string key = formEntry.Key;
string value = formEntry.Value;
}
}

关于c# - 向 WebApi 发送动态表单参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27015743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com