c# - 通过 HttpClient.PostAsJsonAsync 将多个标量参数传递给 WebAPI

标签 c# asp.net-web-api

这是我的方法:

[HttpPost]
[ActionName("TestString")]
public string TestString([FromBody] int a, [FromBody] int b, [FromBody] int c)
{
  return "test " + a + " " + b + " " + c;
}

有什么方法可以使用HttpClient.PostAsJsonAsync调用此方法

我试过这个:

HttpResponseMessage response = client.PostAsJsonAsync("api/task/TestString","a=8,b=5,c=6").Result;

但我收到此错误:StatusCode:500,ReasonPhrase:'内部服务器错误'

提前致谢!

最佳答案

我很确定您只能使用一个 [FromBody] 标签。尝试(添加您自己的错误处理等):

[HttpPost]
[ActionName("TestString")]
public string TestString([FromBody] dynamic body)
{
  return "test " + body.a.ToString() + " " + body.b.ToString() + " " + body.c.ToString();
}

只要表单主体实际包含 a、b 和 c,这应该可以工作。

关于c# - 通过 HttpClient.PostAsJsonAsync 将多个标量参数传递给 WebAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15380216/

相关文章:

c# - 应用程序池模式问题 : Classic Or Integrated

java - C# HttpClient 是否忽略 SSL 证书错误?

asp.net-web-api - 使用 MVC FormsAuthentication 在 .NET Web API 中进行身份验证

c# - OCR线检测

c# - 破坏 richtextbox 中的编码

asp.net-web-api - 如何检查 ASP.Net Web API 中的请求内容类型?

javascript - 如何从 Angularjs 服务响应中获取数据到 Controller 作用域对象

c# - DependencyResolver + Owin + WebApi2

c# - Datagridview 列索引更新后返回 0

VS2015 中的 Azure 应用服务项目模板和新发布目标