私はWinFormアプリケーションからASP APIを使って作業しています。それは罰金働いていたが、その後、私は名前空間で遊んで開始していると、それはありませんMediaTypeFormatterは、メディアタイプ「text/htmlの」との内容からタイプ「Product」に のオブジェクトを読み取ることが可能ですHttpClient Acceptヘッダーが機能しない
書き始めました。
私は新しいソリューションを作成し、すべてのコードをコピーしましたが、まだ動作していません。応答フォーマットはtext/htmlですが、同じヘッダ(Accept application/json)を持つcurlコマンドはうまくいきます。
これは、コンテンツを読み込む前に、APIから
ご回答のためにこれを設定しpublic static async Task<ProductWithBool> GetProductByIdAsync(string id)
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://eshop.ApiUpdatercentrum.tumam.cz/api/byznys/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Product product = null;
HttpResponseMessage response = await client.GetAsync("GetProduct?code=" + id);
if (response.IsSuccessStatusCode)
{
product = await response.Content.ReadAsAsync<Product>();
}
else
{
ErrorManager.AddError("Getting product failed");
return new ProductWithBool(null, 2);
}
if (product == null)
{
ErrorManager.AddError("Product not found");
return new ProductWithBool(null, 1);
}
return new ProductWithBool(product, 0);
}
Nugetパッケージを追加するためにアプリケーション*は* JSONがサーバー意志*リターン*のJSONを意味するものではありません受け入れていたことに注意してください。 APIに問題があります。投稿したコードではありません。 –