正确使用204 HTTP状态代码

时间:2019-12-11 20:53:50

标签: rest http httpresponse

我正在阅读RFC,无法完全确定以下内容是否适合使用204响应代码。

  

204响应允许服务器指示该操作已被执行      成功应用于目标资源,同时暗示      用户代理不需要遍历其当前的“文档”      视图”(如果有)。服务器假定用户代理将提供      根据用户自己的情况,向用户表明成功的迹象      界面,并在响应中应用任何新的或更新的元数据      它的主动表示。

我有一个Controller,该控制器返回x和y轴值的数组,以根据用户历史数据绘制图形。

假设用户没有历史数据或少于2点,则无法绘制图形。

我应该:

  1. 返回正文中带有“ NO_CONTENT”的204。
  2. 返回一个200和一个对象,分别包含x和y值的空数组。
  3. 返回200,但说“ NO_CONTENT”或无效的正文。

谢谢您的澄清。

1 个答案:

答案 0 :(得分:0)

如果您想对响应做出具体说明,则应在发送响应之前检查条件并使用匹配的状态码。

  1. 如果Controller返回一个数组。然后200
  2. 如果Controller没有足够的数据可返回。然后是204,并显示一条消息。

但是,如果第二个条件为true,我建议在消息中使用5xx状态。但这只是我的意见,将取决于您的特定用例。

相关问题