【发布时间】:2022-02-25 04:13:28
【问题描述】:
我在数据库中有一些记录可能有也可能没有某些列的信息,这没关系。
如果端点的消费者遇到这些记录之一,我想返回“NoContent”,因为,我们可以在该记录上执行没有内容。但是......我想告诉他们为什么,因为有两个不同的原因。
在查看其他状态代码时,这是可行的:
return Accepted("I SEE THIS STRING!");
它实际上作为字段位置显示在响应标题中(我想,不要让我再次运行这个项目!)
这适用于说内部服务器错误:
return StatusCode(500, "I SEE THIS TOO!");
但是,对于 NoContent,没有像 Accepted 这样的构造函数,您可以在其中传递对象。此外,这表明我没有任何字符串:
return StatusCode(204, "WHY CAN'T I SEE THIS STRING?!");
救命!
【问题讨论】:
-
我不这么认为。 204(无内容)返回一个 HttpResponseMessage ,嗯,没有内容。如果您确实有用户可以消费的内容要返回(这两个原因),那么您就没有无内容场景。也许一个带有自定义 ContentNotProvided 类的 Ok 可以解决问题?或者返回带有消息的 BadRequest。
-
@NeilW 如果你想添加一个答案,我会绿色复选标记它!
标签: asp.net-core asp.net-web-api http-status-codes http-status-code-204