美文网首页
api版本控制的几种方式!

api版本控制的几种方式!

作者: DragonersLi | 来源:发表于2020-07-29 14:08 被阅读0次
一、通过url后面跟参数版本,例如:xxx.com?version=v1,兼容项目,一般不建议这么使用。
二、通过配置子域名或模块方式,例如:v1.xxx.comv2.xxx.com两个子域名来分别对应项目的两个模块,或者xxx.com/v1xxx.com/v2
三、对于API应用,单模块+多级控制器实现
image.png
创建版本控制器:php think make:controller v1/Index
请求时候url地址上要跟上版本号,例如:xxx.com/api/v1/index.路由api.php配置如下:
#路由配置
use think\facade\Route; 
Route::group(':version',function(){

    Route::group('index', function () {
        Route::get('','api/:version.Index/test'); 
        Route::get('agreement/:id','api/:version.Index/test1')->pattern(['id' => '\d+']);
        Route::get('logout', 'api/:version.Index/test2')->middleware('ApiJwt');

    }); 
})->allowCrossDomain();

四、通过header头信息传递版本号。优点是版本更迭不需改变url地址,直接改变请求头信息
接口请求地址:xxx.com/api/index,版本通过header中的api-version参数传递,默认v1版本!
use think\facade\Route;
use think\facade\Request;
$version = Request::header('api-version','v1');#接口版本
Route::group('', function()use($version){

   //测试
    Route::group('index', function () use($version){
        Route::get('',"api/{$version}.Index/index");
        Route::get('test',"{$version}.Index/test");

    });
  
})->allowCrossDomain();

五、通过Accept头信息处理,优点是可以设置接口输出格式。这种没使用过,待实现...
GET xxx.com/user/1
Accept: application/vnd.tp6.v1+json

相关文章

  • api版本控制的几种方式!

    一、通过url后面跟参数版本,例如:xxx.com?version=v1,兼容项目,一般不建议这么使用。 二、通过...

  • PHP-API接口版本控制的问题

    api 接口版本控制找了一下资料总共有几种类型 不设定版本模式意味着每个API只提供一个版本,如果要修改本API,...

  • API版本控制

    服务API的版本控制历来没有一个完美的解决方案,本篇列出了业界常见的三类API版本控制方案,每一类中又有1到2种实...

  • api版本控制

    我们假设API接口的域名名为api.tp5.com,并且以两个版本v1和v2为例(注意,版本号仅为主版本,小版本应...

  • ES入门2-CRUD

    Index API Index API提供了几种创建Index方式。简单方式创建index 在创建索引的时候指定分...

  • RESTful API如何进行版本控制

    本文将帮助您理解为什么需要版本控制,以及如何对REST API进行版本控制。我们将讨论4种版本控制的方法,并比较不...

  • Git常用命令

    Git --- 分布式版本控制系统 几种常用的版本控制系统 cvs/vss---锁定模式 Subversion(s...

  • magento2访问restapi,webapi的方法

    magento访问api有几种方式: Token-based authentication OAuth-based...

  • Elasticsearch5.0 Breaking Change

    Lucene版本 6.2.1 常用API变化重点关注 Java api 1 client create方式变更; ...

  • SpringMVC Api接口版本控制

    SpringMVC Api接口版本控制 1. 问题 ​ 后端服务在提供api接口时,随着业务的变化,原有的接口...

网友评论

      本文标题:api版本控制的几种方式!

      本文链接:https://www.haomeiwen.com/subject/vhcarxtx.html