У меня есть метод SearchTitleByAuthor
, который принимает два параметра, FirstName
и LastName
и запрашивает базу данных для получения определенного названия книги.
Следующий метод - это * 1006 моего веб-приложения. * TitleController.cs
[HttpPost]
public ActionResult SearchTitleByAuthor(string FirstName, string LastName)
{
GtlTitle titles;
try
{
HttpResponseMessage response = GlobalVariables_Title_Search_ByAuthor.clientSearch.GetAsync(new { FirstName, LastName }).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
titles = response.Content.ReadAsAsync<GtlTitle>().Result;
titles.TitleAuthor.FirstName = FirstName;
titles.TitleAuthor.LastName = LastName;
return RedirectToAction("TitleSearched", titles);
}
else
return BadRequest(response.Content.ReadAsStringAsync().Result);
}
catch
{
return View();
}
//return View(titles);
}
Как видите, в строке HttpResponseMessage response = GlobalVariables_Title_Search_ByAuthor.clientSearch.GetAsync(new { FirstName, LastName }).Result;
я пытаюсь передать два параметра моему методу веб-API, как это выглядит:
[Route("api/title/search/byAuthor/{FirstName}/{LastName}")]
[HttpGet()]
public IActionResult SearchByAuthor(string FirstName, string LastName)
Следовательно, как я могу улучшить способ получения response
? Как передать два параметра через метод GetAsync
?
EDIT:
[Route("api/title/search/byAuthor/{FirstName}/{LastName}")]
[HttpGet()]
public IActionResult SearchByAuthor(string FirstName, string LastName)
{
try
{
var result = _gtlTitleRepository.SearchByAuthor(FirstName, LastName);
if (result is null)
{
return BadRequest("Author not found");
}
else
return Ok(result);
}
catch (Exception e)
{
return BadRequest();
}
}