根据列表或检索返回不同的json响应是否有效?

根据列表或检索返回不同的json响应是否有效?,json,rest,Json,Rest,我目前正在设计一个Rest API,在系统中的两个用例的性能问题上有点纠结: 列出所有活动(api/活动)-需要返回列出和分页活动所需的活动数据。可能会返回多达1000条记录,检索和返回详细数据需要很长时间。所需的数据可以在单个DB调用中返回 Retrieve campaign item(api/campaigns/id)-需要返回有关活动的所有数据,并且可能需要一秒钟才能运行。需要多个DB调用才能获取单个活动的所有活动数据 我的问题是:对这两个调用返回不同的json响应(如果有很好的文档记

我目前正在设计一个Rest API,在系统中的两个用例的性能问题上有点纠结:

  • 列出所有活动(api/活动)-需要返回列出和分页活动所需的活动数据。可能会返回多达1000条记录,检索和返回详细数据需要很长时间。所需的数据可以在单个DB调用中返回
  • Retrieve campaign item(api/campaigns/id)-需要返回有关活动的所有数据,并且可能需要一秒钟才能运行。需要多个DB调用才能获取单个活动的所有活动数据
我的问题是:对这两个调用返回不同的json响应(如果有很好的文档记录)是否有效,即使它涉及相同的资源?我认为列表响应是检索响应的子集。这样做的原因是为了保存DB调用和bandwitdh+解析


提前谢谢

我认为,/magnetics和/magnetics/{id}返回不同的信息是很好的,而且应该如此。我建议使用查询参数来限制需要返回的信息量。例如,除非您看到?expand=players查询参数,否则只向每个播放器返回一个URI,在这种情况下,您将返回详细的播放器信息