通过 Web 服务 API 创建外观的推荐方法



>历史:我使用的一个Web服务,它一半基于最新的MISMO dtd(对于有问题的属性),另一半是针对该属性运行的报告。所有这些都被捆绑成一大块xml并发布到端点,响应很好,你猜对了....XML,还有很多。

它的报告方面是问题所在。假设可以运行 100 个不同的报告,您可以请求单个报告或任意报告组合。现在所有这些标志都是一个节点的属性,您可以通过将报告属性设置为 Y(es) 或 N(o) 来打开或关闭它们(例如 <someNode _fooReport="Y" _barReport="Y" .... />

问:我很想听听你关于如何在此基础上设计一个更干净的 Web API 的意见,这将简化初学者对报告的选择。我正在使用 c# 4.0。

问候斯蒂芬

要设计一个干净的 API,您需要放弃按特定名称运行多个报告的概念。

相反,您应该专注于按关键字对报告进行标记和分组。如果您的最终用户需要有关与某个关键字有关的所有内容的报告,则允许该用户传入关键字。

您最终会得到的是在报表上编写搜索 API。这可以像关键字列表一样简单,也可以像谷歌一样大,具体取决于您希望为客户提供的选择量。

从 URL api 设计的角度来看,我会考虑拥有类似的东西

url/reports/[id OR name]

url/reports/?search=[query]

这将导致更干净的 Web API

最新更新