winfrom 或控制檯程序向webapi提交數據問題

winfrom 或控制檯程序向webapi提交數據是數據是JSON數據時需要對數據進行處理才能傳過去參考如下

需要用Newtonsoft.Json.JsonConvert.SerializeObject 序列化一下才能傳

/// <summary>
        /// HttpClient實現Post請求
        /// </summary>
        public static async Task<string> Post(string url, Dictionary<string, string> requestParameters)
        {
            //設置HttpClientHandler的AutomaticDecompression
            var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
            //創建HttpClient(注意傳入HttpClientHandler)
            using (var http = new HttpClient(handler))
            {
                var json = Newtonsoft.Json.JsonConvert.SerializeObject(requestParameters);
                HttpContent httpContent = new StringContent(json);
                httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                //await異步等待迴應
                var response = await http.PostAsync(url, httpContent);
                //確保HTTP成功狀態值
                response.EnsureSuccessStatusCode();
                //await異步讀取最後的JSON(注意此時gzip已經被自動解壓縮了,因爲上面的AutomaticDecompression = DecompressionMethods.GZip)
                return await response.Content.ReadAsStringAsync();
            }
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章