Home >Backend Development >PHP Tutorial >api - php给移动端开发的接口,如果保证接口的版本同时支持一期,二期,三期呢?求大神给思路。

api - php给移动端开发的接口,如果保证接口的版本同时支持一期,二期,三期呢?求大神给思路。

WBOY
WBOYOriginal
2016-06-06 20:25:461189browse

移动端,现在开发进入三期结尾了。但是一直处理不好服务端API版本这个问题,v=3.0对v=1.0的改动还是有很多的,如何支持1-3这几个版本呢?如果说一期一个接口文件,那么还会有小版本的存在。请问各位大神,给个设计思路。拜求学习

补充:现在用的TP来开发,比如ApiAction.class.php.这个是接口的Action,里面是不同的方法。就是一个大版本会更改好多里面的方法,小版本也会有方法的更改

再补充:开发语言php,使用框架是tinkphp

回复内容:

移动端,现在开发进入三期结尾了。但是一直处理不好服务端API版本这个问题,v=3.0对v=1.0的改动还是有很多的,如何支持1-3这几个版本呢?如果说一期一个接口文件,那么还会有小版本的存在。请问各位大神,给个设计思路。拜求学习

补充:现在用的TP来开发,比如ApiAction.class.php.这个是接口的Action,里面是不同的方法。就是一个大版本会更改好多里面的方法,小版本也会有方法的更改

再补充:开发语言php,使用框架是tinkphp

http://www.ruanyifeng.com/blog/2014/05/restful_api.html

<code>三、版本(Versioning)
应该将API的版本号放入URL。

https://api.example.com/v1/
</code>

应该保留以前的版本来做兼容.

可以尝试用一个简单的 MVC 机制来处理,client 端传递版本号过来,比如 api.php?v=3.0&method=foo/bar,然后 Controller 调用 foo.php 实例化 foo 类的 bar_3_0 方法,同时给 foo Model 进行对应版本的数据支持。

如果版本很多,变动比较大,很难维护就上线所有的版本,用nginx来分发请求。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn