Я начал играть с Web Api, создав Web API и Client, все работало нормально, пока я не переключился с GetAsync()
на PostAsync()
, теперь я каждый раз получаю ответ 404, почему это может быть?
Код на стороне сервера
[HttpPost]
[Route("users/verifyLoginCredentials/{username}/{password}")]
public IHttpActionResult VerifyLoginCredentials(string username, string password)
{
var verificationResult = Models.User.VerifyLoginCredentials(username, password);
if (verificationResult)
{
return Ok("Login Successful");
}
return BadRequest("Login Failed");
}
.NET 4.5 Код клиента
static async Task<Uri> verifyLoginCredentials(string username, string password)
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:4685/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
var value = new Dictionary<string, string>
{
{ "username", "hello" },
{ "password", "world" }
};
var content = new FormUrlEncodedContent(value);
var result = await client.PostAsync("users/verifyLoginCredentials/", content);
string resultContent = await result.Content.ReadAsStringAsync();
result.EnsureSuccessStatusCode();
// return URI of the created resource.
return result.Headers.Location;
}