私はAPIを呼び出すためにHttpClient
を使用しています。私は、オブジェクトを構築し、このようPostAsJsonAsync
にそれを渡しています:HttpClient PostAsJsonAsyncを使用してAPIを呼び出すと、APIで複合型を正しく受け入れることができますか?
var foo = new Foo
{
//We will say these are the only two properties on the model:
Id = 1,
Name = "Test"
};
var response = await httpClient.PostAsJsonAsync("myApiPath/mytest", foo);
その後、私のAPIに私がfoo
オブジェクトを取得し、それをいくつかのものを行うと、このようなHttpStatusCode
を返すようにしようとしています:
[Route("mytest")]
[HttpPost]
public HttpResponseMessage MyTest<T>(T foo)
{
//Do some stuff, and return the status code
return Request.CreateResponse(HttpStatusCode.OK);
}
<T>
を使用すると、これはうまくいかず、500
エラーが発生します。ちょうど私がAPIのネタを得ることができたことを確認して、私に何かを渡す
は"someRandomString"
にfoo
を変更して、APIで、私はちょうどこのように文字列を受け入れるようにMyTest
を変更:public HttpResponseMessage MyTest(string someRandomString) { }
、それがうまく働きました。
APIに正しく渡される複合型を取得するにはどうすればよいですか?
返信いただきありがとうございます。あなたの返信の直前に、私は同じモデル 'dll'を参照していて、同じモデルを回してみようとしていました。私が正しい道にいたことを知ってうれしい。 – maxshuty
はい、正しい経路にあります。 –