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] タグは 1 つだけ許可されていると確信しています。試してください(独自のエラー処理などを追加してください):

[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 に答える