核心2 /打字稿响应错误

时间:2018-05-26 10:56:02

标签: c# typescript asp.net-core asp.net-core-mvc asp.net-core-2.0

我正在尝试在服务器端进行验证,我希望代码返回带有错误消息的响应和错误代码,为什么服务器拒绝它。

public IActionResult AddAdvertisement([FromBody]AdvertisementModel model)
{
    bool validModel = true;
    string ErrorMessage = "";

    AdvertisementModel PostModel = model;

    if (PostModel.category == 0)
    {
        ErrorMessage = "Category can't be 0";
        validModel = false;
        JsonResult s = new JsonResult(ErrorMessage);
        s.StatusCode = 654;
        return s;
    }

我得到的最远,但我无法读取响应正文文本作为打字稿中的错误消息: enter image description here

也许我正在处理这个错误?有什么想法可以改善这个吗?

1 个答案:

答案 0 :(得分:0)

作为改进,创建您自己的状态代码StatusCode,尝试执行以下操作

if (PostModel.category == 0)
{
    result = new {
      ErrorMessage = "Category can't be 0", 
      ValidModel = false,
    };
    return StatusCode(654,result);
}

然后,此打字稿应以错误拒绝此答案。

虽然此方法适用,但在验证中不是通用方法,并且不符合W3标准。 最好返回状态代码为400的BadRequest,并在结果正文中添加您的内部代码号,如下所示:

if (PostModel.category == 0)
{
    result = new {
      ErrorMessage = "Category can't be 0", 
      ValidModel = false,
      Code = 654
    };
    return BadRequest(result);
}