【问题标题】:Maintain Web APIs consistency in teams在团队中保持 Web API 的一致性
【发布时间】:2016-08-05 13:44:28
【问题描述】:

请随时编辑此问题的标题。

我是一个使用 AngularJS 和 Web API 开发 Web 应用程序的团队的一员。我们为每个页面开发了 Web API,并通过 Angular 获取数据。 一段时间后,我们意识到大多数 Web API 是相同的,因为我们无法意识到哪些 Web API 已经存在。在某些情况下,我们有相同的 API 但不同的路由。 例如,在 ShowOrderDetail.html 中,我们需要显示用户的个人资料信息。开发人员实现了一个 Web API 来从 UserProfile 中检索数据(只有 3 个字段)。但是,在其他页面中,另一个开发人员实现了另一个 API 来检索 5 个字段。

我想知道您在设计此类系统方面是否还有其他经验以及如何处理此问题。是否有其他技术或工具代替管理方面(如设置名称约定)?

【问题讨论】:

  • 您是说您为站点中的每个页面创建了一个完全独立的 Web 服务?
  • 是的,完全正确。每个开发人员都是全栈 Web 开发人员。他们的职责是设计 SQL 表,实现 Web API 并使用 HTML、Javascript 和 AngularJS 开发前端
  • 您的项目似乎存在架构和设计问题,这不是要走的路。您应该从设计 API 开始,然后围绕设计的服务器端 API 实现您的客户端应用程序。

标签: c# asp.net asp.net-web-api asp.net-web-api2


【解决方案1】:

为同一个项目创建大量单独的服务没有多大意义,为网站中的每个单独页面创建完全独立的 Web API 肯定是过分的。无论您使用其他方式来组织代码(工具、命名约定等),这都将不可避免地导致大量冗余和浪费精力。

我建议根据您定期执行的操作重新组织您的服务,不是每页一项服务。您可以创建单独的控制器来将您的服务组织成不同类型的操作(事实上,我建议这样做 - this article 对组织代码的不同方式有很好的描述)但是这应该按照可重用操作来组织, 不是单个页面。

【讨论】:

    猜你喜欢
    • 2017-04-06
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多