【问题标题】:ASP.NET Core Web API - Return a string message with a NoContent Response?ASP.NET Core Web API - 返回带有 NoContent 响应的字符串消息?
【发布时间】: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


【解决方案1】:

204(无内容)返回一个 HttpResponseMessage ,嗯,没有内容。

如果您确实有要返回的用户可以消费的内容(这两个原因),那么您就没有无内容场景。

也许带有自定义 ContentNotProvided 类的 Ok (200) 可以保存消息,客户端可以使用该类,可以解决问题吗?

或者,返回带有消息的 BadRequest (400)。

【讨论】:

    猜你喜欢
    • 2018-07-09
    • 1970-01-01
    • 2020-09-07
    • 2022-01-10
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    相关资源
    最近更新 更多