这是我的方法:

[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: 'Internal Server Error'

提前致谢!

最佳答案

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

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


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

10-08 14:21