私はC#REST Web APIを持っていますが、エンドポイントにリクエストするこのようなコードがあります。私が渡したいデータのいくつかは、自分のタイプのオブジェクトです。複雑なオブジェクトなので、POSTを使って渡したいと思います。他の側ではRestSharp Post ObjectをJSONとして使用し、コールの反対側から読み取る
RestClient client = new RestClient(Constants.Endpoints.serviceEndPoint)
{
Timeout = 1000
};
string requestResource = Constants.Endpoints.apiEndPoint;
RestRequest request = new RestRequest(requestResource, Method.POST);
request.AddParameter("Authorization", $"Bearer {accessToken}", ParameterType.HttpHeader);
request.AddHeader("Accept", "application/json");
request.AddParameter("id", id, ParameterType.UrlSegment);
request.AddParameter("text/json", objectIWantToSerialize, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
、私はこの
var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
foreach (var content in provider.Contents)
{
// what should I do here to read the content as a JSON
// and then transform it as the object it used to be before the call?
}
のようないくつかのコードとオブジェクト自体を読みしようとしている私は、を実行しようとしました(> content.ReadAsJsonAsync <がMyTypeを待ちます)。でも試しましたawait content.ReadAsStringAsync();があり、いずれも動作しませんでした。私はクライアントで実行するときに何か間違っているのですか?それとも、コンテンツを読んでいる間に私が反対側でやっていることですか?代わりに、この行の
[Fiddler](https://www.telerik.com/fiddler)などのデバッグプロキシを使用して実際にサーバーに送信されているものを確認しようとしましたか? –
私は実際にFiddlerを使用しましたが、送信される値がオブジェクトのJSON形式ではないことに気付きました。 request.AddParameterが間違っていることを意味しますか? – user3587624