两者最终都会产生一个空的 204 状态响应,但哪个更快?
显然,如果您遵循 DRY 准则,则编写起来会更简洁
return Ok(something);
Run Code Online (Sandbox Code Playgroud)
而不是
if (something == null)
{
return NoContent()
}
else
{
return Ok(something);
}
Run Code Online (Sandbox Code Playgroud)
检查源代码后,NoContent()转换为调用StatusCode(204),因为Ok(null)我没有深入了解他们在何处检查(如果有的话)为空值,如果它为空,决定返回一个 StatusCode 204(或处理它以其他方式)。
我个人认为这NoContent()会产生更快的性能,即使我们将讨论的差异在几分之一秒内。