如何区分具有相同状态代码但不同响应主体的两个响应



我有一个应用程序,用户可以在其中参与解谜活动。我有一个API端点/events/{id},用于获取与某个事件相关联的数据
根据事件是否结束,响应将有所不同:

  1. 如果事件已经结束,端点将返回事件名称、参与者、分数等,状态代码为200
  2. 如果事件尚未结束,端点将返回事件名称、开始时间、结束时间、谜题等,状态代码为200

在客户端,区分这两个响应以决定显示哪个页面、结果页面或事件页面的最佳方法是什么?这是实现我目标的好方法吗
有些人可能会回答说,我应该已经在客户端知道事件是否已经结束,然后相应地查询数据。但若用户使用地址栏导航到某个事件,该怎么办?那么我将没有数据可以知道,它是否真的结束了。我不想先做一个API调用来知道它(还没有(结束,然后再做另一个结果/谜题调用。

传递一个布尔值isFinished并将其返回到响应对象内部。如果已经定义了响应对象,请创建一个具有上一个响应dto和布尔标志的包装器。

此外,我们在为一家大公司工作的一个项目中确实使用了这样的解决方案,所以我想说这在某种程度上是业界公认的做法

最新更新