CN107329748A - Api开发管理方法和***以及服务器和计算机可读存储介质 - Google Patents

Api开发管理方法和***以及服务器和计算机可读存储介质 Download PDF

Info

Publication number
CN107329748A
CN107329748A CN201710491010.3A CN201710491010A CN107329748A CN 107329748 A CN107329748 A CN 107329748A CN 201710491010 A CN201710491010 A CN 201710491010A CN 107329748 A CN107329748 A CN 107329748A
Authority
CN
China
Prior art keywords
api
frameworks
app
thinkphp
framework
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710491010.3A
Other languages
English (en)
Other versions
CN107329748B (zh
Inventor
沈文策
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Cnfol Information Technology Co Ltd
Original Assignee
Fujian Cnfol Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Cnfol Information Technology Co Ltd filed Critical Fujian Cnfol Information Technology Co Ltd
Priority to CN201710491010.3A priority Critical patent/CN107329748B/zh
Publication of CN107329748A publication Critical patent/CN107329748A/zh
Application granted granted Critical
Publication of CN107329748B publication Critical patent/CN107329748B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种API开发管理方法和***以及服务器和计算机可读存储介质。其中,该API开发管理方法可以包括:获取APP需求数据和超文本预处理器THINKPHP框架以及APP后台管理框架;基于APP需求数据,利用超文本预处理器THINKPHP框架,构建API框架;将API框架与APP后台管理框架进行整合,并由API框架来调用APP后台管理框架进行API的开发管理。本发明实施例通过将THINKPHP框架与APP后台管理框架的优势相结合,进行API的开发管理,解决了如何节省API开发时间并减少API维护成本的技术问题,可以先实现API的增删改查操作,再逐步完善安装、卸载、配置等功能,从而可以一边进行API开发而一边优化API的管理,而且还可以根据API开发的实际情况进行有针对性的开发。

Description

API开发管理方法和***以及服务器和计算机可读存储介质
技术领域
本发明涉及互联网技术领域,特别是涉及一种API开发管理方法和***以及服务器和计算机可读存储介质。
背景技术
随着互联网的发展,基于互联网的应用(例如:博客、社交网站等)越来越普及。这为用户带来了广阔的参与平台和互动空间。由此,以用户为核心的理念促进了APP(Application,应用程序)的发展。
随着APP的普及,为了增强各个网站之间内容的关联性,越来越多的网络产品走向开放化。开放化使得越来越多的网站将其资源开放给开发者来调用。这种开放化以API(Application Programming Interface,应用程序编程接口)作为核心载体。例如:保险、金融、交通、智能家居、物联网等都需要API的支撑。可见,APP的API正渗透到人们生活的各个方面,已成为经济发展的基石。
然而,API的应用仍然面临着很多难题,例如:安全性、性能提升与稳定性、版本管理、协作开发、认证授权等。要解决上述诸多难题离不开有效的API管理。API管理包括信息检测、数据分析、安全防护等。API的有效管理与API的开发是紧密相连的。API的开发涉及到将API的构思转化为文档规范的过程以及再将该文档规范转化为代码的过程。在这两个过程中会涉及到开发工作的不断修改。而且,在产品或服务上线后,需要将API编写为不同语言的SDK(Software Development Kit,软件开发工具包)。SDK中存在很多用来描述API的内容。随着API开发需求的不断变化,会涉及到大量描述API的工作,由此会出现重复开发的问题。上述API管理混乱、重复开发的问题,影响了API的开发效率,而且还增加了维护成本。
发明内容
本发明实施例的目的在于提供一种API开发管理方法,以解决如何节省API开发时间并减少API维护成本的技术问题。具体技术方案如下:
为了实现上述目的,根据本发明的一个方面,提供了以下技术方案:
一种应用程序APP编程接口API开发管理方法,所述方法包括:
获取APP需求数据;
基于所述APP需求数据,利用超文本预处理器THINKPHP框架,构建API框架;
将所述API框架与APP后台管理框架进行整合,并由所述API框架来调用所述APP后台管理框架进行所述API的开发管理。
进一步地,基于所述APP需求数据,利用超文本预处理器THINKPHP框架,来构建API框架,具体包括:
基于所述APP需求数据,利用所述THINKPHP框架,构建基础数据表;
基于超文本预处理器THINKPHP框架,构建所述基础数据表的管理模块;
基于所述THINKPHP框架,添加API页面表单并为其设置调用权限;
在所述THINKPHP框架的配置目录和模块配置目录下,通过添加扩展子目录,扩展所述API的配置接口;
向所述THINKPHP框架中添加基于标准API自动生成的代码;
基于所述基础数据表及其管理模块、API表单及其调用权限、配置接口以及所述基于标准API自动生成的代码,按照所述HINKPHP框架的规范,构建所述API框架。
进一步地,所述THINKPHP框架包括应用控制器和行为控制器;基于超文本预处理器THINKPHP框架,构建所述基础数据表的管理模块,具体包括:
基于所述APP需求数据并利用所述行为控制器,构建用于对所述基础数据表进行API业务逻辑控制的处理单元;
在所述应用控制器和所述处理单元之间建立调度关系;
基于所述调度关系,将所述处理单元和所述应用控制器进行整合,形成所述管理模块。
进一步地,所述THINKPHP框架包括模型和应用控制器及模板引擎;所述模型包括自动填充单元;基于所述THINKPHP框架,添加API页面表单的步骤具体包括:
根据所述APP需求数据定义API页面表单的内容;
利用所述自动填充单元将所述内容进行表单填充;
通过所述应用控制器将填充后的结果提交至表单处理地址;
利用所述模板引擎从所述表单处理地址,对填充后的结果进行渲染,形成所述API页面表单。
进一步地,所述THINKPHP框架包括入口文件;将所述API框架与APP后台管理框架进行整合,并由所述API框架来调用所述APP后台管理框架进行所述API的开发管理,具体包括:
在所述入口文件中,配置所述APP后台管理框架的入口,以实现所述API框架与所述APP后台管理框架的整合;
通过所述入口调用所述APP后台管理框架,进行所述API的开发管理。
为了实现上述目的,根据本发明的另一个方面,还提供了以下技术方案:
一种应用程序编程接口API开发管理***,其中,所述API为应用程序APP的编程接口;所述***包括:
获取单元,用于获取APP需求数据;
构建单元,用于基于所述APP需求数据,利用超文本预处理器THINKPHP框架,构建API框架;
管理单元,用于将所述API框架与APP后台管理框架进行整合,并由所述API框架调用所述APP后台管理框架进行所述API的开发管理。
进一步地,所述构建单元具体包括:
第一构建子单元,用于基于所述APP需求数据,利用所述THINKPHP框架,构建基础数据表;
第二构建子单元,用于基于超文本预处理器THINKPHP框架,构建所述基础数据表的管理模块;
第一添加单元,用于基于所述THINKPHP框架,添加API页面表单并为其设置调用权限;
扩展单元,用于在所述THINKPHP框架的配置目录和模块配置目录下,通过添加扩展子目录,扩展所述API的配置接口;
第二添加单元,用于向所述THINKPHP框架中添加基于标准API自动生成的代码;
第三构建子单元,用于基于所述基础数据表及其管理模块、API表单及其调用权限、配置接口以及所述基于标准API自动生成的代码,按照所述HINKPHP框架的的规范,构建所述API框架。
进一步地,所述THINKPHP框架包括应用控制器和行为控制器;所述第二构建子单元具体用于:
基于所述APP需求数据并利用所述行为控制器,构建用于对所述基础数据表进行API业务逻辑控制的处理单元;
在所述应用控制器和所述处理单元之间建立调度关系;
将所述处理单元和所述应用控制器进行整合,形成所述管理模块。
进一步地,所述THINKPHP框架包括模型和应用控制器及模板引擎;所述模型包括自动填充单元;所述第一添加单元具体包括:
定义单元,用于根据所述APP需求数据定义API页面表单的内容;
填充单元,用于利用所述自动填充单元将所述内容进行表单填充;
提交单元,用于通过所述应用控制器将填充后的结果提交至表单处理地址;
渲染单元,用于触发所述模板引擎从所述表单处理地址,对填充后的结果进行渲染,形成所述API页面表单。
进一步地,所述THINKPHP框架包括入口文件;所述管理单元具体包括:
配置单元,用于在所述入口文件中,配置所述APP后台管理框架的入口,以实现所述API框架与所述APP后台管理框架的整合;
管理子单元,用于通过所述入口调用所述APP后台管理框架,进行所述API的开发管理。
为了实现上述目的,根据本发明的再一个方面,还提供了以下技术方案:
一种服务器,其包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述API开发管理方法技术方案所述的方法步骤。
为了实现上述目的,根据本发明的又一个方面,还提供了以下技术方案:
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述API开发管理方法技术方案所述的方法步骤。
本发明实施例提供一种API开发管理方法和***以及服务器和计算机可读存储介质。其中,该API开发管理方法可以包括:获取APP需求数据和超文本预处理器THINKPHP框架以及APP后台管理框架;基于APP需求数据,利用超文本预处理器THINKPHP框架,来构建API框架;将API框架与APP后台管理框架进行整合,并由API框架来调用APP后台管理框架进行API的开发管理。由于THINKPHP框架具有面向对象的开发结构模式、MVC模式(模型、视图和控制器模式)、单一入口模式以及丰富的函数,同时还具有简单的访问URL(统一资源定位符)的操作方法的特点,所以,本发明实施例易于构建API框架,从而节省了API开发时间;又由于APP后台管理框架可以独立地进行后台开发,还可以采用原生的HTML语言进行开发,而且还集成了诸如注册、登录、统计图表、表单、页面、表格等模板,所以,与现有技术相比,本发明实施例通过THINKPHP框架来调用APP后台管理框架进行API的开发管理,从而节省了API开发时间并减少了API维护成本,可以先实现API的增删改查操作,再逐步完善安装、卸载、配置等功能,从而可以一边进行API开发而一边优化API的管理,而且还可以根据API开发的实际情况进行有针对性的开发。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的API开发管理方法的流程示意图;
图2为根据本发明实施例的构建API框架的流程示意图;
图3为根据本发明实施例的构建基础数据表的管理模块的流程示意图;
图4为根据本发明实施例的添加API页面表单的流程示意图;
图5为根据本发明实施例的应用程序编程接口API开发管理***的结构示意图;
图6为根据本发明实施例的构建单元的结构示意图;
图7为根据本发明实施例的第一添加单元的结构示意图;
图8为根据本发明实施例的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
术语说明
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,用于供APP(应用程序)与开发人员基于软件和/或硬件得以访问例程。通过API可以实现程序间的通信、程序间的数据共享等。
框架是指开发APP时,与请求处理和响应处理有关的架构。
架构是指APP开发中涉及到的各种技术所拥有的各种资源的组织形式,例如:文件、数据库、HTTP(超文本传输协议)请求等。
上述框架可以由计算装置予以实现。该计算装置可以包括:各种用于传输信息的物理部件和/或逻辑部件,它们可以根据一组给定的设计参数或者性能制约的要求,由硬件部件(例如:处理器、可编程逻辑控制器)、可被各种硬件部件执行的可执行计算机程序指令(例如:固件、软件)或者它们的任意组合予以实现。上述计算装置可以包括但不限于个人计算机(例如:台式计算机、膝上型计算机、笔记本型计算机)、智能手机、个人数字助理(PDA)、媒体播放器或任何其他适合的通信装置。
上述框架可以由万维网浏览器运行并予以实现。其中,万维网浏览器可以由诸如IE、Firefox(火狐)、Opera(欧朋)或者任意适合的、台式机版本或移动版本的万维网浏览器予以实现。该万维网浏览器可以支持框架所要求的计算机编程语言、标准、万维网协议和/或技术。这些计算机编程语言、标准、万维网协议和/或技术包括但不限于HTML(超文本标记语言)、XML(可扩展标记语言)、AjaX(阿贾克斯)、Flash(动画)、CSS(层叠样式表)或者其他适当的编程语言、脚本语言或基于VM(虚拟机)的语言。万维网浏览器可以提供用户接口的基础,并且可以包括:用于诸如JS(一种万维网编程脚本语言)、VB(可视化初始者通用符号指令代码语言)和/或其他脚本编程语言的语言解释程序。其中,解释程序实时解释基于浏览器的脚本、字节码集或者语言。
应用环境
本发明实施例可以应用于基于B/S(浏览器/服务器)、C/S(客户端/服务器)结构的环境中,并基于HTTP协议进行开发管理。
API开发实施环境
在www(万维网)目录下创建一个APP目录,然后在该APP目录下创建一个入口文件(例如:index.php)。该入口文件的内容可以包括:ThinkPHP框架路径、APP项目名称和路径、加载框架入口文件(例如:require(THINK_PATH."/ThinkPHP.php"))以及APP实例化,例如,通过如下方式实现实例化:App::run()。
通过上述操作,利用浏览器访问上述入口文件,ThinkPHP框架可以自动在APP目录下生成项目目录。在该项目目录下可以进行API开发。
在API的实际应用开发中,经常出现重复开发的问题,而且当API很多时,还会出现管理混乱的问题,因而,这些问题增加了API的开发时间以及维护成本。
鉴于此,为了解决如何节省API开发时间并减少API维护成本的技术问题,本发明实施例提供一种API开发管理方法。如图1所示,该方法可以通过步骤S100至步骤S120来实现。其中:
S100:获取APP需求数据。
其中,APP需求数据可以是任意与用户通过HTTP请求有关的数据。
S110:基于APP需求数据,利用超文本预处理器THINKPHP框架,构建API框架。
其中,超文本预处理器THINKPHP框架是基于MVC(model-view-controller,模型-视图-控制器)和面向对象的PHP(超文本预处理语言)开发框架。THINKPHP框架可以包括完整的应用目录结构和入口文件,且基于模块和操作的方式进行访问,并采用单一入口文件来执行应用。其中,控制器及其操作都通过URL(统一资源定位符)的参数来访问和执行。入口文件的访问由URL的参数来统一解析和调度。与用户HTTP请求相关的APP需求数据通过入口文件生成应用实例。通过浏览器可以访问该入口文件。
这里,应用由多个模块组成。每个模块可以具有各自独立地配置文件、公共文件和类库文件。
具体地,在一些可选的实施例中,如图2所示,本步骤可以包括:
S111:基于APP需求数据,利用THINKPHP框架,构建基础数据表。
其中,基础数据表可以包括:基础数据表信息的添加、修改和删除,以及采用弹出式窗体显示基础数据表信息,供用户进行选择输入。THINKPHP框架内置有数据库访问层和连接器。在API的开发过程中,通过数据库访问层和连接器可以将基础数据表和数据库连接起来。基础数据表与模型(Model)存在映射关系。通过控制器调用模型来响应用户请求。
S112:基于超文本预处理器THINKPHP框架,构建基础数据表的管理模块。
其中,管理模块可以用于为用户提供多种视图。可以允许用户在弹出式窗体中对基础数据表进行添加、修改等操作。用于通过弹出式窗体可以构建其他数据。
在一些可选的实施例中,THINKPHP框架可以包括应用控制器和行为控制器;如图3所示,步骤S112具体可以包括:
S1121:基于APP需求数据并利用行为控制器,构建用于对基础数据表进行API业务逻辑控制的处理单元。
S1122:在应用控制器和处理单元之间建立调度关系。
S1123:基于该调度关系,将处理单元和应用控制器进行整合,形成管理模块。
通过本步骤,在对用户请求进行路由分析之后,就可以将用户请求转发至相应的应用控制器,然后,应用控制器调度相应的处理单元进行处理。
S113:基于THINKPHP框架,添加API页面表单并为其设置调用权限。
通过API页面表单可以将数据添加至数据表中。其中,该数据表可以是通过对基础数据表进行修改而得到的新的数据表。
在具体实现中,可以将调用权限写入控制器,从而创建权限控制器并将该权限控制器继承控制器基础类,以此实现对API页面表单的调用限制。
在一些可选的实施例中,THINKPHP框架可以包括模型和应用控制器及模板引擎;该模型可以包括自动填充单元;如图4所示,基于所述THINKPHP框架,添加API页面表单的步骤具体可以包括:
S1131:根据APP需求数据定义API页面表单的内容。
S1132:利用自动填充单元将该内容进行表单填充。
作为示例,本步骤可以利用模型类(Model)的自动填充属性通过表单将数据添加到数据表中。其中,自动填充属性定义了填充字段、填充条件和填充规则。
S1133:通过应用控制器将填充后的结果提交至表单处理地址。
S1134:利用模板引擎从表单处理地址,对填充后的结果进行渲染,形成API页面表单。
其中,API页面表单可以包括但不限于文本框样式、文本域、文本域样式、文本框尺寸、下拉框、文件上传组件、表单布局。
S114:在THINKPHP框架的配置目录和模块配置目录下,通过添加扩展子目录,扩展API的配置接口。
其中,ThinkPHP框架的目录包括:***目录、应用目录和部署目录。其中,***目录包括ThinkPHP框架的公共入口文件、Common目录、***语言文件、***基类库目录、***模板目录、框架模式扩展目录和第三方类库目录。应用目录包括项目入口文件、项目公共文件目录、项目配置目录、项目语言包目录、项目类库目录、项目模板目录和项目运行时目录。部署目录包括ThinkPHP***目录、Home项目目录和Admin后台管理项目目录。
具体地,可以将实现不同功能的模块与所扩展的配置接口联系起来,从而通过扩展API的配置接口,可以调用不同功能的模块。所以,通过扩展API配置接口,可以实现在线统一配置管理。
S115:向THINKPHP框架中添加基于标准API自动生成的代码。
其中,标准API包含预先定义的函数。该标准API可以是API开发人员自定义的。
在具体实施过程中,本步骤可以利用自动化代码生成工具(例如:Snips代码生成工具、swagger-codegen代码生成工具、go-swagger代码生成工具)来调用标准API中预先定义的函数,自动生成自定义API的HTML文档及支持该API的代码,从而可以减少API开发人员的重复操作。
S116:基于基础数据表及其管理模块、API表单及其调用权限、配置接口以及基于标准API自动生成的代码,按照HINKPHP框架的规范,构建API框架。
本步骤基于HINKPHP框架的MVC模式将基础数据表及其管理模块、API表单及其调用权限、配置接口以及基于标准API自动生成的代码组织起来,并由控制器来调用。由于采用了统一的HINKPHP框架的规范,从而实现了API的标准接入。这样,开发API放入代码经打包上传后,可以实现一键安装、卸载。
S120:将API框架与APP后台管理框架进行整合,并由API框架来调用APP后台管理框架进行API的开发管理。
其中,APP后台管理框架可以将数据库与API框架连接起来,并且可以通过设置权限来进行管理操作。例如:可以在HINKPHP框架内,利用mysql_connect()函数,通过phpMyAdmin后台管理框架将HINKPHP框架与MySQL数据库连接起来,并且可以在账号权限的允许内进行各种管理操作。通过APP后台管理框架可以实现用户与数据库的直接交互。
通过将API框架与APP后台管理框架进行整合,API开发人员可以不再自己编写MVC模式的文档,从而节省了开发时间。
在一些可选的实施例中,THINKPHP框架可以包括入口文件;则步骤S120具体可以包括:
S121:在入口文件中,配置APP后台管理框架的入口,以实现所述API框架与所述APP后台管理框架的整合。
例如,可以在THINKPHP框架中设置入口文件,作为APP后台管理框架的入口,以供THINKPHP框架调用APP后台管理框架。该入口文件可以设置在ThinkPHP框架的公共入口文件内,也可以独立于该ThinkPHP框架的公共入口文件而设置。
S122:通过入口调用APP后台管理框架,进行API的开发管理。
其中,APP后台管理框架可以集成多个常用的插件,以用来定制后台模板。该后台模板可以包括注册、登录、统计图表、表单、表格等后台模板页面。
下面以一优选实施例来对本发明进行详细说明。
本优选实施例提供的应用程序编程接口API开发管理方法可以包括:
S201:创建数据库和数据表。
S202:命名APP项目并创建该APP项目的入口文件。
S203:对该APP项目进行配置。
S204:创建控制器类。
其中,本步骤可以创建包含数据写入操和数据查询操作的控制器,本步骤可以通过以下方式来创建控制器;其中,数据写入操包括:实例化模型类;创建数据对象;将该数据对象写入数据库;重定向至操作页面;数据查询操作包括:实例化模型类;查询数据;对模板变量赋值;将模板输出。
S205:创建模型类。
其中,模型类定义了各种数据操作,以供控制器调用。
S206:创建模板文件。
其中,模板文件用于将用户请求数据传输至控制器。
S207:获取APP需求数据。
S208:基于APP需求数据,利用THINKPHP框架,构建基础数据表。
S209:基于APP需求数据并利用行为控制器,构建用于对基础数据表进行API业务逻辑控制的处理单元。
S210:在应用控制器和处理单元之间建立调度关系。
S211:将处理单元和应用控制器进行整合,形成管理模块。
S212:根据APP需求数据定义API页面表单的内容。
S213:利用自动填充单元将内容进行表单填充。
S214:通过应用控制器将填充后的结果提交至表单处理地址。
S215:利用模板引擎从表单处理地址,对填充后的结果进行渲染,形成API页面表单。
S216:基于THINKPHP框架,为API页面表单设置调用权限。
S217:在THINKPHP框架的配置目录和模块配置目录下,通过添加扩展子目录,扩展API的配置接口。
S218:向THINKPHP框架中添加基于标准API自动生成的代码。
S219:基于基础数据表及其管理模块、API表单及其调用权限、配置接口以及基于标准API自动生成的代码,按照HINKPHP框架的规范,构建API框架。
S220:在入口文件中,配置APP后台管理框架的入口,以实现API框架与APP后台管理框架的整合。
S221:通过入口调用APP后台管理框架,进行API的开发管理。
有关本优选实施例的说明可以参考前述实施例的相关说明,在此不再赘述。
在上述各技术方案中,由于THINKPHP框架具有面向对象的开发结构模式、MVC模式(模型、视图和控制器模式)、单一入口模式以及丰富的函数,同时还具有简单的访问URL(统一资源定位符)的操作方法的特点,所以,本发明实施例易于构建API框架,从而节省了API开发时间;又由于APP后台管理框架可以独立地进行后台开发,还可以采用原生的HTML语言进行开发,而且还集成了诸如注册、登录、统计图表、表单、页面、表格等模板,所以,本发明实施例通过THINKPHP框架调用APP后台管理框架进行API的开发管理,从而节省了API开发时间并减少了API维护成本,可以先实现API的增删改查操作,再逐步完善安装、卸载、配置等功能,从而可以一边进行API开发而一边优化API的管理,而且还可以根据API开发的实际情况进行有针对性的开发。
需要说明的是,上述方法实施例所示步骤流程仅为示例性说明,除非另有说明,上述步骤流程并非一定以上述所示顺序执行,也可以根据实际情况,以不同于本文所示顺序执行,例如,构建基础数据表的步骤与扩展API配置接口的步骤可以并行执行。再比如,设置API页面表单权限的步骤可以在建立应用控制器与处理单元之间的调度关系的步骤之后执行,其他步骤的执行顺序以此类推,在此不再赘述。另外,根据特定的实施环境,在上述方法实施例的基础上,也可以添加附加的步骤,也可以去除一些步骤。
为了解决如何节省API开发时间并减少API维护成本的技术问题,基于与上述方法实施例相同的技术构思,本发明实施例还提供一种应用程序编程接口API开发管理***,其中,API为应用程序APP的编程接口。该***可以执行上述方法实施例。如图5所示,该***可以包括:获取单元51、构建单元52和管理单元53。其中,获取单元51用于获取APP需求数据。构建单元52用于基于APP需求数据,利用超文本预处理器THINKPHP框架,构建API框架。管理单元53用于将API框架与APP后台管理框架进行整合,并由API框架来调用APP后台管理框架进行API的开发管理。
在一些可选的实施例中,构建单元具体可以包括:第一构建子单元61、第二构建子单元62、第一添加单元63、扩展单元64、第二添加单元65和第三构建子单元66。其中,第一构建子单元61用于基于APP需求数据,利用THINKPHP框架,构建基础数据表。第二构建子单元62用于基于超文本预处理器THINKPHP框架,构建基础数据表的管理模块。第一添加单元63用于基于THINKPHP框架,添加API页面表单并为其设置调用权限。扩展单元64用于在THINKPHP框架的配置目录和模块配置目录下,通过添加扩展子目录,扩展API的配置接口。第二添加单元65用于向THINKPHP框架中添加基于标准API自动生成的代码。第三构建子单元66用于基于基础数据表及其管理模块、API表单及其调用权限、配置接口以及基于标准API自动生成的代码,按照HINKPHP框架的的规范,构建API框架。
在一些可选的实施例中,在上述实施例的基础上,THINKPHP框架包括应用控制器和行为控制器;第二构建子单元具体可以用于:基于APP需求数据并利用行为控制器,构建用于对基础数据表进行API业务逻辑控制的处理单元;并在应用控制器和处理单元之间建立调度关系;然后,将处理单元和应用控制器进行整合,形成管理模块。
在一些可选的实施例中,THINKPHP框架包括模型和应用控制器及模板引擎;模型包括自动填充单元;如图7所示,第一添加单元具体可以包括:定义单元71、填充单元72、提交单元73和渲染单元74。其中,定义单元71用于根据APP需求数据定义API页面表单的内容。填充单元72用于利用自动填充单元将内容进行表单填充。提交单元73用于通过应用控制器将填充后的结果提交至表单处理地址。渲染单元74用于触发模板引擎从表单处理地址,对填充后的结果进行渲染,形成API页面表单。
在一些可选的实施例中,在图5所示实施例的基础上,THINKPHP框架包括入口文件;管理单元具体可以包括配置单元和管理子单元。其中,配置单元用于在入口文件中,配置APP后台管理框架的入口,以实现API框架与APP后台管理框架的整合。管理子单元用于通过入口调用APP后台管理框架,进行API的开发管理。
这里需要说明的是,上述***实施例中各个单元的划分仅为示例性的,在具体实现过程中,还可以有另外的划分方式,例如,可以将获取单元与构建单元集成在一个单元内,其他单元以此类推,在此不再赘述。
上述***实施例通过采取上述各个技术方案,利用THINKPHP框架,并整合APP后台管理框架,实现了以配置的方式来进行API开发的目的,解决了如何节省API开发时间并减少API维护成本的技术问题,可以先实现API的增删改查操作,再逐步完善安装、卸载、配置等功能,从而可以一边进行API开发而一边优化API的管理。此外,还可以根据API开发的实际情况进行有针对性的开发。
基于上述方法实施例相同的技术构思,本发明实施例还提供一种服务器。如图8所示,该服务器可以包括处理器81、通信接口82、存储器83和通信总线84,其中,处理器81、通信接口82和存储器83通过通信总线84完成相互间的通信。存储器83用于存放计算机程序。处理器81用于执行存储器83上所存放的程序时,实现上述方法实施例的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述通信接口用于上述电子设备与其他设备之间的通信。
上述存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于上述方法实施例相同的技术构思,本发明实施例还提供一种计算机可读存储介质。该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的方法步骤。
上述计算机可读存储介质包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦写可编程只读存储器(EPROM)、电可擦写可编程只读存储器(EEPROM)、闪存(例如,NOR型闪存或NAND型闪存)、内容可寻址存储器(CAM)、聚合物存储器(例如,铁电聚合物存储器)、相变存储器、双向开关半导体存储器、硅-氧化物-氮化硅-氧化硅-硅(Silicon-Oxide-Nitride-Oxide-Silicon,SONOS)存储器、磁卡或者光卡,亦或是其他任意适当类型的计算机可读存储介质。
在本文中,术语“在一些可选的实施例中”是指该实施例中描述的技术特征可以包括在至少一个实施例中。因此,本文中的“在一些可选的实施例中”的意义不一定均指同一个实施例。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种应用程序APP编程接口API开发管理方法,其特征在于,所述方法包括:
获取APP需求数据;
基于所述APP需求数据,利用超文本预处理器THINKPHP框架,构建API框架;
将所述API框架与APP后台管理框架进行整合,并由所述API框架来调用所述APP后台管理框架进行所述API的开发管理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述APP需求数据,利用超文本预处理器THINKPHP框架,构建API框架,具体包括:
基于所述APP需求数据,利用所述THINKPHP框架,构建基础数据表;
基于超文本预处理器THINKPHP框架,构建所述基础数据表的管理模块;
基于所述THINKPHP框架,添加API页面表单并为其设置调用权限;
在所述THINKPHP框架的配置目录和模块配置目录下,通过添加扩展子目录,扩展所述API的配置接口;
向所述THINKPHP框架中添加基于标准API自动生成的代码;
基于所述基础数据表及其管理模块、API表单及其调用权限、配置接口以及所述基于标准API自动生成的代码,按照所述HINKPHP框架的规范,构建所述API框架。
3.根据权利要求2所述的方法,其特征在于,所述THINKPHP框架包括应用控制器和行为控制器;
所述基于超文本预处理器THINKPHP框架,构建所述基础数据表的管理模块,具体包括:
基于所述APP需求数据并利用所述行为控制器,构建用于对所述基础数据表进行API业务逻辑控制的处理单元;
在所述应用控制器和所述处理单元之间建立调度关系;
基于所述调度关系,将所述处理单元和所述应用控制器进行整合,形成所述管理模块。
4.根据权利要求2所述的方法,其特征在于,所述THINKPHP框架包括模型和应用控制器及模板引擎;所述模型包括自动填充单元;
所述基于所述THINKPHP框架,添加API页面表单,具体包括:
根据所述APP需求数据定义API页面表单的内容;
利用所述自动填充单元将所述内容进行表单填充;
通过所述应用控制器将填充后的结果提交至表单处理地址;
利用所述模板引擎从所述表单处理地址,对填充后的结果进行渲染,形成所述API页面表单。
5.根据权利要求1所述的方法,其特征在于,所述THINKPHP框架包括入口文件;
所述将所述API框架与APP后台管理框架进行整合,并由所述API框架来调用所述APP后台管理框架进行所述API的开发管理,具体包括:
在所述入口文件中,配置所述APP后台管理框架的入口,以实现所述API框架与所述APP后台管理框架的整合;
通过所述入口调用所述APP后台管理框架,进行所述API的开发管理。
6.一种应用程序编程接口API开发管理***,其中,所述API为应用程序APP的编程接口;其特征在于,所述***包括:
获取单元,用于获取APP需求数据;
构建单元,用于基于所述APP需求数据,利用超文本预处理器THINKPHP框架,构建API框架;
管理单元,用于将所述API框架与APP后台管理框架进行整合,并由所述API框架调用所述APP后台管理框架进行所述API的开发管理。
7.根据权利要求6所述的***,其特征在于,所述构建单元具体包括:
第一构建子单元,用于基于所述APP需求数据,利用所述THINKPHP框架,构建基础数据表;
第二构建子单元,用于基于超文本预处理器THINKPHP框架,构建所述基础数据表的管理模块;
第一添加单元,用于基于所述THINKPHP框架,添加API页面表单并为其设置调用权限;
扩展单元,用于在所述THINKPHP框架的配置目录和模块配置目录下,通过添加扩展子目录,来扩展所述API的配置接口;
第二添加单元,用于向所述THINKPHP框架中添加基于标准API自动生成的代码;
第三构建子单元,用于基于所述基础数据表及其管理模块、API表单及其调用权限、配置接口以及所述基于标准API自动生成的代码,按照所述HINKPHP框架的的规范,来构建所述API框架。
8.根据权利要求7所述的***,其特征在于,所述THINKPHP框架包括应用控制器和行为控制器;
所述第二构建子单元具体用于:
基于所述APP需求数据并利用所述行为控制器,构建用于对所述基础数据表进行API业务逻辑控制的处理单元;
在所述应用控制器和所述处理单元之间建立调度关系;
将所述处理单元和所述应用控制器进行整合,形成所述管理模块。
9.根据权利要求7所述的***,其特征在于,所述THINKPHP框架包括模型和应用控制器及模板引擎;所述模型包括自动填充单元;
所述第一添加单元具体包括:
定义单元,用于根据所述APP需求数据定义API页面表单的内容;
填充单元,用于利用所述自动填充单元将所述内容进行表单填充;
提交单元,用于通过所述应用控制器将填充后的结果提交至表单处理地址;
渲染单元,用于触发所述模板引擎从所述表单处理地址,对填充后的结果进行渲染,形成所述API页面表单。
10.根据权利要求6所述的***,其特征在于,所述THINKPHP框架包括入口文件;
所述管理单元具体包括:
配置单元,用于在所述入口文件中,配置所述APP后台管理框架的入口,以实现所述API框架与所述APP后台管理框架的整合;
管理子单元,用于通过所述入口调用所述APP后台管理框架,进行所述API的开发管理。
11.一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-5中任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一所述的方法步骤。
CN201710491010.3A 2017-06-23 2017-06-23 Api开发管理方法和***以及服务器和计算机可读存储介质 Active CN107329748B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710491010.3A CN107329748B (zh) 2017-06-23 2017-06-23 Api开发管理方法和***以及服务器和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710491010.3A CN107329748B (zh) 2017-06-23 2017-06-23 Api开发管理方法和***以及服务器和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107329748A true CN107329748A (zh) 2017-11-07
CN107329748B CN107329748B (zh) 2021-01-22

Family

ID=60194586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710491010.3A Active CN107329748B (zh) 2017-06-23 2017-06-23 Api开发管理方法和***以及服务器和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107329748B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255730A (zh) * 2018-01-23 2018-07-06 平安普惠企业管理有限公司 软件接口测试方法、测试设备、存储介质及装置
CN110442331A (zh) * 2019-08-11 2019-11-12 西藏宁算科技集团有限公司 一种自动化搭建代码框架的方法及***
CN111125642A (zh) * 2018-10-31 2020-05-08 北京数聚鑫云信息技术有限公司 一种管理api的方法、装置、存储介质及计算机设备
CN111324342A (zh) * 2020-02-10 2020-06-23 北京字节跳动网络技术有限公司 一种生成接口层代码的方法、装置、介质和电子设备
CN111399825A (zh) * 2020-03-17 2020-07-10 四川研宝科技有限公司 一种基于api文档的api接口开发管理方法及***
CN112016256A (zh) * 2020-08-25 2020-12-01 北京百瑞互联技术有限公司 一种集成电路开发平台、方法、存储介质及设备
CN113312003A (zh) * 2021-06-15 2021-08-27 浪潮云信息技术股份公司 一种基于Go语言的物理裸机磁盘存储管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501341A (zh) * 2013-09-30 2014-01-08 乐视致新电子科技(天津)有限公司 一种Web服务的创建方法及装置
CN103955361A (zh) * 2014-03-28 2014-07-30 世纪禾光科技发展(北京)有限公司 一种web前端代码自动化编译构建的模块化开发和发布***
CN104636139A (zh) * 2015-01-26 2015-05-20 北京邮电大学 一种可视化跨平台移动应用开发与生成***
CN104866327A (zh) * 2015-06-19 2015-08-26 上海斐讯数据通信技术有限公司 一种php开发方法及框架
CN105677302A (zh) * 2014-11-17 2016-06-15 阿里巴巴集团控股有限公司 一种应用程序模块化开发方法以及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501341A (zh) * 2013-09-30 2014-01-08 乐视致新电子科技(天津)有限公司 一种Web服务的创建方法及装置
CN103955361A (zh) * 2014-03-28 2014-07-30 世纪禾光科技发展(北京)有限公司 一种web前端代码自动化编译构建的模块化开发和发布***
CN105677302A (zh) * 2014-11-17 2016-06-15 阿里巴巴集团控股有限公司 一种应用程序模块化开发方法以及装置
CN104636139A (zh) * 2015-01-26 2015-05-20 北京邮电大学 一种可视化跨平台移动应用开发与生成***
CN104866327A (zh) * 2015-06-19 2015-08-26 上海斐讯数据通信技术有限公司 一种php开发方法及框架

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王秀萍,季金奎: "基于ThinkPHP框架的代码生成器设计与实现", 《福建电脑》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255730A (zh) * 2018-01-23 2018-07-06 平安普惠企业管理有限公司 软件接口测试方法、测试设备、存储介质及装置
CN108255730B (zh) * 2018-01-23 2021-04-02 平安普惠企业管理有限公司 软件接口测试方法、测试设备、存储介质及装置
CN111125642A (zh) * 2018-10-31 2020-05-08 北京数聚鑫云信息技术有限公司 一种管理api的方法、装置、存储介质及计算机设备
CN111125642B (zh) * 2018-10-31 2022-06-03 北京数聚鑫云信息技术有限公司 一种管理api的方法、装置、存储介质及计算机设备
CN110442331A (zh) * 2019-08-11 2019-11-12 西藏宁算科技集团有限公司 一种自动化搭建代码框架的方法及***
CN110442331B (zh) * 2019-08-11 2023-12-26 西藏宁算科技集团有限公司 一种自动化搭建代码框架的方法及***
CN111324342A (zh) * 2020-02-10 2020-06-23 北京字节跳动网络技术有限公司 一种生成接口层代码的方法、装置、介质和电子设备
CN111324342B (zh) * 2020-02-10 2023-04-07 北京字节跳动网络技术有限公司 一种生成接口层代码的方法、装置、介质和电子设备
CN111399825A (zh) * 2020-03-17 2020-07-10 四川研宝科技有限公司 一种基于api文档的api接口开发管理方法及***
CN112016256A (zh) * 2020-08-25 2020-12-01 北京百瑞互联技术有限公司 一种集成电路开发平台、方法、存储介质及设备
CN112016256B (zh) * 2020-08-25 2024-05-03 北京百瑞互联技术股份有限公司 一种集成电路开发平台、方法、存储介质及设备
CN113312003A (zh) * 2021-06-15 2021-08-27 浪潮云信息技术股份公司 一种基于Go语言的物理裸机磁盘存储管理方法

Also Published As

Publication number Publication date
CN107329748B (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN107329748A (zh) Api开发管理方法和***以及服务器和计算机可读存储介质
US10216554B2 (en) API notebook tool
US20190187967A1 (en) Generation of dynamic software models using input mapping with feature definitions
US20180173390A1 (en) Content Management System Extensions
CN105849691B (zh) 用于代码虚拟化和远程进程调用生成的方法和装置
CN101373431B (zh) 增强型小组件合成平台
US20120246515A1 (en) Scalable testing tool for graphical user interfaces object oriented system and method
CN101909082B (zh) 一种基于模型驱动的网格门户配置***及配置方法
US20140351684A1 (en) Methods and apparatus for translating forms to native mobile applications
CN113553269B (zh) 页面埋点上报方法及相关装置
CN110162464A (zh) Mcok测试方法及***、电子设备及可读存储介质
CN105204863B (zh) 违法数据审核***
CN103064738A (zh) Linux下本地应用程序窗体嵌入浏览器的方法及***
US20110145735A1 (en) Model driven content development
CN110309099A (zh) 接口管理方法、装置、设备及计算机可读存储介质
CN107430609A (zh) 针对企业环境的浏览器新标签页的生成
TWI680411B (zh) 電子表單建立系統及方法
US11775261B2 (en) Dynamic process model palette
CN115543428A (zh) 一种基于策略模板的模拟数据生成方法和装置
US10506025B2 (en) Modifying document metadata with integrated cloud services
Zheng et al. Preparation
Warén Cross-platform mobile software development with React Native
Valiente et al. Results and experiences from developing daos with aragon: A case study
Lopez Full-Stack Web Development with Jakarta EE and Vue. js
Trivedi User interface implementation of environmental data integration system with React

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant