gpt4 book ai didi

rest - transient REST 表示

转载 作者:行者123 更新时间:2023-12-04 17:42:11 30 4
gpt4 key购买 nike

假设我有一个 RESTful、超文本驱动的服务来模拟冰淇淋店。为了帮助更好地管理我的商店,我希望能够显示每日报告,列出所售每种冰淇淋的数量和美元值(value)。

这种报告功能似乎可以作为名为 DailyReport 的资源公开。 DailyReport 可以快速生成,实际上将报告存储在服务器上似乎没有任何优势。我只想要几天的 DailyReport,其他几天我不在乎获得 DailyReport。此外,在服务器上存储 DailyReports 会使客户端实现复杂化,需要记住删除不再需要的报告。

DailyReport 是短暂的;它的表示只能检索一次。实现这一点的一种方法是提供一个链接“/daily-reports”,一个 POST 将返回一个响应,其中包含列出当天销售信息的 DailyReport 表示。

编辑:让我们也说我真的想做一个 POST 请求。 DailyReport 有许多不同的选项来创建 View ,例如按字母顺序、按美元值(value)对冰淇淋类型进行排序 - 或包括每小时分割 - 或可选地包括当天的温度 - 或过滤掉某些冰淇淋类型(作为列表)。与其使用带有 GET 的查询参数,我宁愿使用适当的选项发布 DailyReport 表示(使用定义良好的自定义媒体类型来记录每个选项)。我返回的表示将显示我的选项以及报告本身。

这是考虑问题的正确方法,还是应该使用其他方法?如果正确,在实现 DailyReport 资源时,哪些特殊注意事项可能很重要? (例如,在 POST 请求后返回时设置 Location header 可能不合适)。

最佳答案

如果您想让过去几天的每日报告可用,您可以将其作为对 /daily_reports/2009/08/20 的 GET 来实现。 .我同意 John Millikin 的观点,这里不需要 POST - 这样的东西不需要成为用户可创建的资源。

将每天的报告作为其自己的 URI 提供的优点是可缓存性。

编辑:一个好的解决方案可能是合并两个答案,使 daily_report/当天数据的无缓存表示和 daily_reports/yyyy/mm/dd一整天数据的可缓存表示。

关于rest - transient REST 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1309058/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com