項目的服務端是個API,當客戶端調用Post新增一條記錄請求時遇到Unsupported Media Type.
var stringContent = new StringContent(JsonConvert.SerializeObject(PostResourceEntity)); HttpResponseMessage response = client.PostAsync("api/CallMe/", stringContent).Result;
詳細異常信息如下:
給client加上各種可能的header后測試依然報錯,仔細查看異常消息“request entity‘s media type...”, 難道是跟我Post過去的對象有關?
using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("Accept", "application/json"); client.DefaultRequestHeaders.Add("ContentType", "application/json"); client.BaseAddress = new Uri("http://localhost:65421/");
打斷點調試
果真如此,解決方法:
stringContent.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json");
搞定~