只需阅读一些RESTful API设计最佳实践即可。我来自ASP.Net Web窗体背景,我一直在调用WebMethods后面的代码来将数据返回给我的客户端JavaScript。对我来说,将这些WebMethod移出到一个API似乎逻辑上,所以我们可以开始集中和标准化我们如何回调终端系统。REST风格的API命名资源和控制器设计
我理解REST的目的是对资源为GET,POST,PUT和DELETE分类的操作。这些资源也可以使用名词而不是动词。
1) 所以我有两个方法,返回的数据生成报表。由于客户端绑定和每个报告的其他特定属性,我创建了各自的类别细分突发事件和细分分钟。
[的WebMethod] Top10MinutesBreakdowns
|Machine|Department|Total Minutes|etc.|
[的WebMethod] Top10IncidentsBreakdowns
|Machine|Department|Total Incidents|etc.|
如果这些方法来组织:
GET /Breakdowns?report=minutes&type=top10
GET /Breakdowns?report=incidents&type=top10
然后在我的故障控制器中检查参数并调用相应的现有业务层功能来返回数据?
2)报告返回两个不同的特性(简单起见:分钟和事件#)的#。我真的应该将这两种方法分组到同一个控制器吗?
这是我很困惑,因为报表使用不同的属性,但根本目的是击穿。也许这个问题更适合重新设计我的业务对象本身。我发现我们现有的业务层有很多为绑定客户端视图而创建的类。我确信在尝试构建此API时会遇到更多这些场景。