Почему мой контроллер не найден? - PullRequest
0 голосов
/ 06 мая 2018

Я начал играть с 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;
}
...