我正在尝试在服务器端进行验证,我希望代码返回带有错误消息的响应和错误代码,为什么服务器拒绝它。
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;
}
我得到的最远,但我无法读取响应正文文本作为打字稿中的错误消息:
也许我正在处理这个错误?有什么想法可以改善这个吗?
答案 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);
}