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

WBOY
Libérer: 2016-06-06 20:25:46
original
1166 Les gens l'ont consulté

移动端,现在开发进入三期结尾了。但是一直处理不好服务端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>
Copier après la connexion

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

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

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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal