xiaohuangniu / apiphp

写这个DEMO的初衷是为了让自己更好的熟悉接口开发流程,以及与朋友们的日常交流学习,期望在技术层面有所进步。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

基于PHP5.5 编写对外API接口的交互流程与后续版本维护

小黄牛

初衷说明

  • 写这个DEMO的初衷是为了让自己更好的熟悉接口开发流程,以及与朋友们的日常交流学习,期望在技术层面有所进步。

模式介绍

  • 1、本DEMO是一个基于原生PHP开发的项目,主要面向对外开发的API用户群,后面我们统称为“渠道”

  • 2、渠道商通过注册,获得channel_id(身份识别码码)与channel_key(数据加解密凭证),请求access_token生成接口,获得接口使用凭证,进行后续所有接口的访问。

  • 3、渠道商还需绑定test与formal环境的来源URL(真正项目建议换成IP),否则将会被限制访问

  • 4、本DEMO定制API访问路由为 index.php/版本/环境/类型/方法,例如:index.php/v1/test/shop/select,即为,V1版本test环境下的shop商品模块的数据查询请求。

  • 5、为方便后期版本维护,本DEMO的数据库架构模式为蜂窝型,除了一个公共数据库外,其余每一个版本将对应两个数据存储的数据库,详情参考下发数据配置文件。

数据库配置一览

return [
    /******************************************* 公共数据表名,用于自动切换版本数据库 ************************************/
    'DB_PUBLIC'        => ['channel'],

    /******************************************* 公共数据库配置  *******************************************************/
	"DB_TYPE"          =>  "mysql",     		  	   // 数据库类型
	"DB_HOST"          =>  "localhost", 		   	   // 服务器地址
	"DB_NAME"          =>  "api",      		  	       // 数据库名
	"DB_USER"          =>  "root",   			  	   // 用户名
	"DB_PWD"           =>  "root",       			   // 密码
	"DB_PORT"          =>  "3306",       		  	   // 端口
	"DB_PREFIX"        =>  "api_",    				   // 数据库表前缀
	"DB_CHARSET"       =>  "utf8",   			  	   // 数据库编码



    /******************************************* 版本数据库配置 - V1  *************************************************/
    "V1"               => [
       "Test" => [ // 测试环境
            "DB_TYPE"          =>  "mysql",     		  	   // 数据库类型
            "DB_HOST"          =>  "localhost", 		   	   // 服务器地址
            "DB_NAME"          =>  "v1_test",      		  	   // 数据库名
            "DB_USER"          =>  "root",   			  	   // 用户名
            "DB_PWD"           =>  "root",       			   // 密码
            "DB_PORT"          =>  "3306",       		  	   // 端口
            "DB_PREFIX"        =>  "api_",    				   // 数据库表前缀
            "DB_CHARSET"       =>  "utf8",   			  	   // 数据库编码
       ],
       "Formal" => [ // 生产环境
            "DB_TYPE"          =>  "mysql",     		  	   // 数据库类型
            "DB_HOST"          =>  "localhost", 		   	   // 服务器地址
            "DB_NAME"          =>  "v1_formal",      		   // 数据库名
            "DB_USER"          =>  "root",   			  	   // 用户名
            "DB_PWD"           =>  "root",       			   // 密码
            "DB_PORT"          =>  "3306",       		  	   // 端口
            "DB_PREFIX"        =>  "api_",    				   // 数据库表前缀
            "DB_CHARSET"       =>  "utf8",   			  	   // 数据库编码
       ],
    ],


];

状态码一览

00 请求成功

01 请求失败

40001 接口地址不规范

40002 请求内容,不能为空

40003 渠道ID或Key错误,或数据类型错误

40004 渠道ID,不能为空

40005 Access_Token,不能为空

40006 渠道不存在

40007 Access_Token已失效,请重新获取

40008 Access_Token错误

40009 非法请求,来源地址错误

400010 渠道KEY,不能为空

50000 服务器错误

模拟API调用的DEMO地址

1、/index.php/demo/test/index/index 查询商品

2、/index.php/demo/test/index/test 新增商品

3、/index.php/demo/test/index/token 获取access_token

About

写这个DEMO的初衷是为了让自己更好的熟悉接口开发流程,以及与朋友们的日常交流学习,期望在技术层面有所进步。


Languages

Language:PHP 97.7%Language:HTML 2.3%