WebAPI多版本控制实现的几种方式——设置路由方式

什么是WebAPI的多版本问题?

  举个栗子:比如Android、IOS等App存在多版本客户端共存的问题:App最新版本已经是10.0了,但是有的用户还是运行着7.0、8.0版本。由于早期没有内置升级机制,用户可以选择不升级版本的方式继续使用app,所以开发新版本app的时候,要给API增加新功能的同时,也要保留旧版的API供老版本用户使用。这时就会出现多个版本共存的问题,而应对这个问题有很多方法。下面的方法是由我来现学现卖来的,希望大佬们能给予批评指正。

1.通过设置路由方式,访问不同域名时来使用不同的API:

   1).新建两个apiController,APIV1代表老版本,APIV2代表新版本:

      

            

  2)APIV1代码:

        

    
    [RoutePrefix("api/v1/APIV")] //url格式
    public class APIV1Controller : ApiController
    {

        [Route("{parameter}")]
        public string Get(string parameter)
        {
            return "I'm APIV1,        parameter:" + parameter;
        }
    }

  3)APIV2代码:

  

    [RoutePrefix("api/v2/APIV")]  //url格式
    public class APIV2Controller : ApiController
    {

        [Route("{parameter}")]
        public string Get(string parameter)
        {
            return "I'm APIV2,        parameter:" + parameter;
        }
    }

   4)下面我们用Postman工具来测试这个两个版本的API

    

 

 

   这种通过修改路由的方式使用起来简单、容易理解,但是随着版本增多,还是比较麻烦,后面有种方法实现起来比较麻烦,但是可以说是一劳永逸。

  https://www.cnblogs.com/ROOKIEDEBUG/articles/9122226.html

 

posted @ 2018-06-01 11:41  an_blog  阅读(298)  评论(0)    收藏  举报