簡體   English   中英

HttpClient 中的 PostAsync 不向我的 webapi 發送數據

[英]The PostAsync in HttpClient doesn't send data to my webapi

我創建了一個 HttpClient 實例來使用 post 方法調用 API。

    using (var client = new HttpClient())
            {
           
                var person = new Stu();
                person.ApplicantId = "48751889-D86E-487B-9508-000EAB65F11F";
                

                var json = JsonConvert.SerializeObject(person);
                var data = new StringContent(json, Encoding.UTF8, "application/json");

                var url = "http://localhost:52085/api/CollegeService/IsCoolegeStudent";
                // var client = new HttpClient();

                var response = await client.PostAsync(url, data);

                string result = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine(result);

            }
    public class Stu
    {
        public string ApplicantId { get; set; }
      
    }

當我檢查我的 API 時,我收到我的對象的申請者 ID 為空。 在此處輸入圖片說明

我不明白為什么申請人 ID 是空的。

最后,我在我的 API [FromBody] [FromForm]更改為[FromBody]並且它工作正常但它停留在這一行var response = await client.PostAsync(url, data); 並沒有繼續。

等待鍵盤讓我的應用程序卡住了,我已經改變了這種方式var response = await client.PostAsync(url, data).ConfigureAwait(false); 但我不明白為什么會導致這個問題。

如果使用FromForm屬性,則在發送 POST 消息時應使用FormUrlEncodedContent而不是StringContent作為內容類型。 如果你仍然想發送JSON -改變FromForm在IsCoolegeStudent方法FromBody

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM