C# 通过HttpClient.PostAsJsonAsync将多个标量参数传递给WebAPI
以下是我的方法:C# 通过HttpClient.PostAsJsonAsync将多个标量参数传递给WebAPI,c#,asp.net-web-api,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 我试过这个: httpresponsemessageresponse=client
[HttpPost]
[ActionName("TestString")]
public string TestString([FromBody] int a, [FromBody] int b, [FromBody] int c)
{
return "test " + a + " " + b + " " + c;
}
有什么方法可以使用HttpClient.PostAsJsonAsync
我试过这个:
httpresponsemessageresponse=client.postsjsonasync(“api/task/TestString”,“a=8,b=5,c=6”)。结果代码>
但是我得到了这个错误:StatusCode:500,原因短语:“内部服务器错误”
提前谢谢 我很确定您只允许使用一个[FromBody]标记。尝试(添加您自己的错误处理等):
如果for表单主体实际上包含a、b和c,那么这应该是可行的。谢谢,但它只是通过“a=6&b=5&c=2”发送整个字符串,而没有拆分变量。不回答问题。回答问题-不,你不能调用你的函数(任何东西),因为它总是抛出一个内部服务器错误。您不能有多个[FromBody]属性-不需要它,因为HTTP POST只有一个主体。
[HttpPost]
[ActionName("TestString")]
public string TestString([FromBody] dynamic body)
{
return "test " + body.a.ToString() + " " + body.b.ToString() + " " + body.c.ToString();
}