2017-08-11 1 views
0

J'ai une requête POST qui ont juste un paramètre de chaînedemande de HttpPost appelant avec le paramètre de chaîne

[HttpPost] 
    public IHttpActionResult CheckMfaEnabled([FromBody]string userEmail)// 
    { 
     var isMfaEnabled = //use another service to return true/false 
     return Ok(isMfaEnabled); 
    } 

et je l'appelle comme ça

using (var client = new HttpClient()) 
{ 
    client.BaseAddress = new Uri("http://localhost:60099"); 
    client.DefaultRequestHeaders.Accept.Clear(); 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 

    StringContent content = new StringContent(JsonConvert.SerializeObject(userEmail), Encoding.UTF8, "application/json"); 
       var response = client.PostAsync("api/MFA/CheckMfaEnabled", content).Result; 
       return response.IsSuccessStatusCode; 
} 

Il me fait 404 not found Erreur, Je suppose que quelque chose ne va pas dans ma façon d'appeler HTTPPOST. Quelqu'un peut-il m'aider s'il vous plaît?

Répondre

0

Ceci est un problème de routage. Lorsque je modifie votre méthode API pour utiliser le routage d'attribut en ajoutant [Route("api/MFA/CheckMfaEnabled")] votre code client fonctionne correctement.