У меня проблемы с возвратом сообщения BadRequest
из моего веб-API в мое представление. Метод API может возвращать объект, простой BadRequest
или объект с сообщением «Не удалось сопоставить» .
Проблема в том, что я не знаю, что и как вернуть, когда метод API возвращает BadRequest
. На данный момент контроллер веб-приложений возвращает только View()
. В конце концов я изменил его, но получаю сообщение об ошибке, как показано ниже:
[HttpPost]
public ActionResult Create(GtlTitle gtlTitle)
{
try
{
HttpResponseMessage response = GlobalVariables_Title.client.PostAsJsonAsync("", gtlTitle).Result;
TempData["Success"] = "Added Successfully!";
return RedirectToAction("Index");
}
catch
{
return HttpStatusCodeResult(HttpStatusCode.BadRequest, "naughty");
}
}
Имя HttpStatusCodeResult не существует в текущем контексте
Ниже мой WEB API TitleController.cs
[Route("api/title")]
[HttpPost()]
public IActionResult InsertTitle([FromBody] GtlTitle gtlTitle)
{
// if (_titleChecker.CheckTitle(gtlTitle.ISBN) is false)
//{
string pattern = "[0-9]*[-| ][0-9]*[-| ][0-9]*[-| ][0-9]*";
Match m = Regex.Match(gtlTitle.ISBN, pattern, RegexOptions.IgnoreCase);
if (m.Success)
{
if (_titleChecker.CheckTitle(gtlTitle.ISBN) is false)
{
try
{
return Ok(_gtlTitleRepository.InsertTitle(gtlTitle));
}
catch (Exception e)
{
return BadRequest();
}
}
else
{
try
{
return Ok(_volumesDBContext.InsertVolume_FromTitle(gtlTitle, gtlTitle.ISBN));
}
catch (Exception e)
{
return BadRequest();
}
}
}
else
return BadRequest("Could not match");
// }
// else
//return Ok(_volumesDBContext.InsertVolume_FromTitle(gtlTitle, gtlTitle.ISBN));
}
Следовательно, что я должен вернуть в моем методе HttpPost
? Несмотря на HttpStatusCodeResult
, я все еще чувствую, что упускаю и другой код.