我有一个只有一个字符串参数的 POST 请求
[HttpPost]
public IHttpActionResult CheckMfaEnabled([FromBody]string userEmail)//
{
var isMfaEnabled = //use another service to return true/false
return Ok(isMfaEnabled);
}
我这样称呼它
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;
}
它让我404 找不到错误, 我想我调用HTTPPOST的方式有问题。 谁能帮我?
这是一个路由问题。当我通过添加[Route("api/MFA/CheckMfaEnabled")]
来修改您的 API 方法以使用属性路由时,您的客户端代码工作正常。