mon API web comme
public async Task<IHttpActionResult> RegisterUser(User user)
{
//User Implementation here
return Ok(user);
}
J'utilise HTTPClient pour demander une API Web comme mentionné ci-dessous.
var client = new HttpClient();
string json = JsonConvert.SerializeObject(model);
var result = await client.PostAsync( "api/users", new StringContent(json, Encoding.UTF8, "application/json"));
Où puis-je trouver un objet utilisateur dans ma demande de résultat qui est implémentée sur l'application client?
Vous pouvez l'utiliser (en fonction de ce dont vous avez besoin) et le désérialiser en retour vers l'objet utilisateur.
await result.Content.ReadAsByteArrayAsync();
//or
await result.Content.ReadAsStreamAsync();
//or
await result.Content.ReadAsStringAsync();
Fe, si votre API Web retourne JSON, vous pouvez utiliser
var user = JsonConvert.DeserializeObject<User>( await result.Content.ReadAsStringAsync());
EDIT: comme l'a souligné Cordan, vous pouvez également ajouter une référence à System.Net.Http.Formatting
et utilise:
await result.Content.ReadAsAsync<User>()
string Baseurl = GetBaseUrl(microService);
string url = "/client-api/api/token";
using (HttpClient client = new HttpClient())`enter code here`
{
client.BaseAddress = new Uri(Baseurl);
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/x-www-form-urlencoded");
List<KeyValuePair<string, string>> keyValues = new List<KeyValuePair<string, string>>();
keyValues.Add(new KeyValuePair<string, string>("client_id", "5196810"));
keyValues.Add(new KeyValuePair<string, string>("grant_type", "password"));
keyValues.Add(new KeyValuePair<string, string>("username", "[email protected]"));
keyValues.Add(new KeyValuePair<string, string>("password", "Sonata@123"));
keyValues.Add(new KeyValuePair<string, string>("platform", "FRPWeb"));
HttpContent content = new FormUrlEncodedContent(keyValues);
content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
content.Headers.ContentType.CharSet = "UTF-8";
var result = client.PostAsync(url, content).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;
}