私はRESTエンドポイントを公開するAzureロジックアプリケーションを作成しました。PostAsJsonAsyncがボディパラメータを投稿していないようです
次のJSON本体は、postmanを使用して呼び出すと正常に動作します。
var email = new Email
{
to = "[email protected]",
subject = "from webapp",
message = "hello world"
};
var client = new HttpClient();
var uri = "maskedout";
var response = await client.PostAsJsonAsync<Email>(uri, email);
I:
{
"to": "[email protected]",
"subject": "Hello there",
"message": "Hello there!!!!!"
}
は、私はこのコードをC#PostAsJsonAsyncを使用して、同じ電話をかけるしようとすると、うまくしかし
{
"headers": {
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"Accept": "*/*",
"Accept-Encoding": "gzip,deflate",
"Host": "maskedout.northcentralus.logic.azure.com:443",
"User-Agent": "PostmanRuntime/6.4.1",
"Content-Length": "99",
"Content-Type": "application/json"
},
"body": {
"to": "[email protected]",
"subject": "Hello there",
"message": "Hello there!!!!!"
}
}
形成され、着信要求を確認することができますよ私のRESTエンドポイントを正常に呼び出せますが、ボディは含まれていません
これは、私が参照するクエスト:
{
"headers": {
"Connection": "Keep-Alive",
"Transfer-Encoding": "chunked",
"Host": "maskedout.northcentralus.logic.azure.com",
"x-ms-request-root-id": "9e5513c2-43961642a3688718",
"x-ms-request-id": "|9e5513c2-43961642a3688718.1.",
"Request-Id": "|9e5513c2-43961642a3688718.1.1.",
"Content-Type": "application/json; charset=utf-8",
"Content-Length": "0"
}
}
私はここで何が欠けていますか?郵便配達員と比較して私のC#コードの違いは何ですか?
は、あなたはJSONが正しくシリアライズなっていることを確認するために使用されたJSONシリアライザと呼ばれていますか?郵便配達要求ではSSLを使用していて、コードでは使用していないようです。また、チャンクされたエンコーディングとは何ですか。 – Fran
この質問に似ているようですかhttps://stackoverflow.com/questions/35464233/how-to-disable-chunked-transfer-encoding-in-asp-net-c-sharp-using-httpclient PostAsJsonAsync拡張メソッドですか? – Fran
チャンクされたエンコードは何か分かりません。私のC#コードからわかるように、私はPostJsonAsAsyncを呼び出してオブジェクトを渡す以外はあまり効果がありません –