【发布时间】:2020-03-29 11:10:24
【问题描述】:
我想在 WebAPI Core 3.1 中返回消息和状态码。
例如服务 GetAllUsers() 返回 AllUser 并且返回码是OK(Users)。
没关系。
但是如果GetAllUsers()返回null(User Not Fund),Service返回204状态码。 204代码没有正文。如何通过204发送消息? 如果我必须使用 404 而不是 204。那么 204 的原因是什么?
另一个问题:
在500 statusCode中我们有如下输出:
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
"title": "An error occured while processing your request.",
"status": 500,
"detail": "Error",
"traceId": "|b8dbff20-4a070d9818356f4c."
}
对于其他代码以不同的方式。有没有办法为所有代码创建一个类并有一个输出?我需要这个类供 Android 程序员使用。 我只需要一条可能是 JSON 列表的消息并且我有一个状态。 我们以前对 Jason 这样做过,但现在每个人都有评论。
【问题讨论】:
-
204 相当于 NoContent() ,旨在故意不返回任何内容。听起来你应该返回 NotFound() 这是一个 404。
-
您还问“204 的目的是什么?” - 它通常在添加新项目 (PUT/POST) 之后使用,其中标准做法是返回整个对象集合,或者因为通常不需要返回所有内容,所以您可以返回 NoContent()(例如,项目已添加根据要求,但您不会获得完整的收藏品)
标签: c# asp.net-web-api2 asp.net-core-webapi