gpt4 book ai didi

REST 服务 - 月初至今的计算

转载 作者:行者123 更新时间:2023-12-02 03:36:18 24 4
gpt4 key购买 nike

我是 REST 服务的新手,如果这是一个明显的问题,我很抱歉。

在我的系统中,我有一个Staff 对象和一个Fee 对象。工作人员向客户收取费用以完成一个工作单元。每个员工都可以有许多与之相关的费用。

常用的 CRUD 方法可通过以下方式获得:

  • mydomain.com/Staff
  • mydomain.com/Fee

业务需要显示给定员工的周至今、月至今和年初至今的费用总额。

如果这是一个 SOAP 服务,那么我可能会创建一个类似 GetToDateTotals(staff) 的方法,它会计算并返回所有数字。不过,我不知道这个逻辑应该放在 REST 服务中的什么地方。

我知道我可以在客户端通过 GET 单独计算所有适当的费用并进行计算,但我发现这种方法有 2 个缺点:

  1. 可能会调用该服务以单独获取所有费用
  2. 逻辑在客户端,所以如果 3 个客户端使用该服务,则逻辑重复 3 次

另一种可能的解决方案是使用 mydomain.com/Staff/FeesToDate 或类似的东西,但这似乎不符合 REST 架构风格。

最佳答案

我会有以下 REST 接口(interface):

GET mydomain.com/staff/<staffId>/fees  //returns paginated list of fees of a staff
GET mydomain.com/staff/<staffId>/fees/summary //returns week-to-date, month-to-date, and year to-date

您可以选择让查询参数只返回一种类型的摘要:

GET mydomain.com/staff/<staffId>/fees/summary?type=month-to-date

关于在客户端计算总和,您是正确的,在计算之前您将不得不多次调用以获取所有费用,这是不可取的。最好在服务器端执行计算,这样您就可以进行缓存。

关于REST 服务 - 月初至今的计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23232021/

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