Ok() 与 Ok(null)

Bab*_*bak 2 asp.net-mvc asp.net-core asp.net-core-webapi

Ok()vs 和有什么区别Ok(null)

返回Ok(null)状态代码204,没有正文,只有标头,因此我们必须以这种方式更改代码:

[HttpGet]
public IActionResult GetTest(string test)
{
    MyClass result = GetMyClass(test)
    if(result == null) return Ok();
    return Ok(result);
}
Run Code Online (Sandbox Code Playgroud)

小智 5

我建议你使用NoContent( HttpStatus 204)。

这意味着请求成功执行,但没有返回值或对象,这是用于此目的的官方状态代码

请参见以下示例:

[HttpGet()]
public IActionResult GetTest(string test)
{
    var result = GetMyClass(test)
    return result != null
        ? Ok(result)
        : NoContent();
}
Run Code Online (Sandbox Code Playgroud)

希望您会发现这很有用。