Question rapide que j'ai du mal à comprendre.Impossible d'envoyer des demandes de publication à REST via HTTPClient
J'ai un REST Api opérationnel qui fonctionne bien avec Postman que j'essaie de comprendre comment appeler avec une Post-requête de Xamarin Forms (en utilisant HTTPClient).
Ceci est mon code actuel:
public CreateFoundation()
{
InitializeComponent();
lblInstructions.FontAttributes = FontAttributes.Bold;
lblInstructions.FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label));
btnCreate.Clicked += async (s, e) =>
{
var arb = await PostCreateFoundation(txtCreateFoundation.Text);
await DisplayAlert("Clicked", "I was clicked. Text was: " + arb, "OK");
};
}
public async Task<string> PostCreateFoundation(string arbitrary)
{
Debug.WriteLine("I'm in!");
var client = new System.Net.Http.HttpClient();
client.DefaultRequestHeaders.Add("Accept", "application/json");
var content = new StringContent(arbitrary);
var response = await client.PostAsync("http://myapi.com/RestfulAPI/api/Ole_foundations/Insert/", content);
var result = (response.Content.ReadAsStringAsync().Result);
return result;
}
Lors de l'affichage du retour string
(arb
) Je vois que le uri est http://myapi.com/RestfulAPI/api/Ole_foundations/Insert/.
, peu importe ce que je vous envoie comme la chaîne arbitraire ...
L'URL qui en résulte lors de l'envoi de la chaîne "test" est:
{MESSAGE ":" Aucune ressource HTTP trouvée correspondant à l'URI de la demande 'http://myapi.com/RestfulAPI/api/Ole_foundations/Insert/ »"}
EDIT:. L'API prend une chaîne arbitraire comme un jeton, ajoute un objet prédéfini à la base de données et renvoie la chaîne transmise arbitraire comme un jeton de retour.
REST tête de la fonction API:
[HttpPost]
public string Insert(string s)
Merci pour l'édition, je ne savais pas si je devrais inclure l'adresse réelle de l'API ou non, car il pourrait être nécessaire pour l'exemple «minime et vérifiable». – geostocker
Qu'est-ce que le service de repos est censé retourner? Vos derniers mots sont un peu confus. Pensez-vous que l'URL changera après la demande? –
Le service REST renvoie simplement une chaîne, rien d'autre. Je travaille avec des données en direct, donc je passe une chaîne et je veux la récupérer du service. Comme un jeton pour s'assurer qu'un objet prédéfini a été inséré dans la base de données. – geostocker