Fare un'applicazione per Windows Phone e sebbene io possa facilmente prelevare dal mio Web Api, ho problemi a postarlo. Ogni volta che postando l'API viene visualizzato il messaggio di errore "Tipo di supporto non supportato" e non sono sicuro del motivo per cui sta accadendo considerando che la classe che uso come base per il mio post JSON è uguale a quella utilizzata nell'API.Errore di tipo di supporto non supportato durante la registrazione sull'API Web
PostQuote (Post Method)
private async void PostQuote(object sender, RoutedEventArgs e)
{
Quotes postquote = new Quotes(){
QuoteId = currentcount,
QuoteText = Quote_Text.Text,
QuoteAuthor = Quote_Author.Text,
TopicId = 1019
};
string json = JsonConvert.SerializeObject(postquote);
if (Quote_Text.Text != "" && Quote_Author.Text != ""){
using (HttpClient hc = new HttpClient())
{
hc.BaseAddress = new Uri("http://rippahquotes.azurewebsites.net/api/QuotesApi");
hc.DefaultRequestHeaders.Accept.Clear();
hc.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await hc.PostAsync(hc.BaseAddress, new StringContent(json));
if (response.IsSuccessStatusCode)
{
Frame.Navigate(typeof(MainPage));
}
else
{
Quote_Text.Text = response.StatusCode.ToString();
//Returning Unsupported Media Type//
}
}
}
}
Preventivo e Argomento (Modello)
public class Quotes
{
public int QuoteId { get; set; }
public int TopicId { get; set; }
public string QuoteText { get; set; }
public string QuoteAuthor { get; set; }
public Topic Topic { get; set; }
public string QuoteEffect { get; set; }
}
//Topic Model//
public class Topic
{
public int TopicId { get; set; }
public string TopicName { get; set; }
public string TopicDescription { get; set; }
public int TopicAmount { get; set; }
}
In qualche modo non funziona con Encoding.UTF32. Encoding.UTF8 funziona. Alcuna spiegazione? – MichaelD
Qual è l'errore? –
Nessun errore, i valori non vengono analizzati nel modello (rimangono null) – MichaelD