我将在我的操作过滤器中返回错误的请求结果。
我有两个选择:
context.result = new BadRequestResult();
或
context.result = new BadRequestObjectResult();
似乎所有状态代码都有几种类型:
NotFoundResult
- NotFoundObjectResult
等等。
我应该使用哪一种?这几种类型有什么区别?
两者的目的相似,但第二个 (
BadRequestObjectResult
) 有所不同,object
或 ModelStateDictionary
可以作为构造函数参数传递,其中包含有关错误的详细信息。
查看下面链接中的构造函数。
除了额外的构造函数之外,唯一的区别是
BadRequestObjectResult
在其构造函数中将状态代码设置为 400。
var badRequestObjectResult = new BadRequestObjectResult((object?)null);
var objectResult = new ObjectResult(null);
Console.WriteLine(badRequestObjectResult.StatusCode);
Console.WriteLine(objectResult.StatusCode ?? -1);
输出是
400
-1