Asp.net mvc 4 多版本Api体系结构

Asp.net mvc 4 多版本Api体系结构,asp.net-mvc-4,design-patterns,architecture,versioning,Asp.net Mvc 4,Design Patterns,Architecture,Versioning,我设计了一个多版本的API架构, 请给我关于好的和坏的反馈和建议,或者有更好的方法来实现这一点 版本服务器(MVC4)将请求路由到正确的API接口(WebApi) 版本将通过标题发送到服务器,如果未找到标题,则默认为1.0 我第一次为多版本API架构设计,谷歌对此没有太多信息 欢迎任何建议、批评、反馈和任何事情 干杯,这取决于您将维护多少版本以及旧版本的NFR是什么 您当前的设置仅适用于少数pro和con版本: +所有版本的NFR都可能相同 +一开始就很快实现 -对公共资源(如数据库)的更改会

我设计了一个多版本的API架构, 请给我关于好的和坏的反馈和建议,或者有更好的方法来实现这一点

  • 版本服务器(MVC4)将请求路由到正确的API接口(WebApi)
  • 版本将通过标题发送到服务器,如果未找到标题,则默认为1.0
  • 我第一次为多版本API架构设计,谷歌对此没有太多信息

    欢迎任何建议、批评、反馈和任何事情


    干杯,

    这取决于您将维护多少版本以及旧版本的NFR是什么

    您当前的设置仅适用于少数pro和con版本:
    +所有版本的NFR都可能相同
    +一开始就很快实现
    -对公共资源(如数据库)的更改会影响所有受支持的版本,因此必须重新发布、测试。。。这可能会变得相当昂贵

    另一个选项是构建适配器链,从2.2版到1.0版,从3.7版到2.2版:
    +更易于维护大量版本集
    +更改只需要链中有一个新的/更新的适配器
    -一开始很难设置
    -每个正在使用的适配器的性能都会下降

    对于适配器链,有几种可能的情况,将它们全部放在一个进程中,或者为每个进程提供单独的服务。同样,两者都有赞成和反对的

    和往常一样,这完全取决于你的情况