2

这是我的方法:

[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'

提前致谢!

4

1 回答 1

2

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

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

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

于 2013-03-13T08:36:48.160 回答