当前位置: 首页 > 专利查询>浙江大学专利>正文

一种RESTful API可视化方法技术

技术编号:12782125 阅读:56 留言:0更新日期:2016-01-28 01:17
本发明专利技术公开了一种API可视化的方法。API可视化,使得API更加直观和易懂,并且开发者可以定义和修改成所需的API结构,重新发布自己API服务,以供其他开发者使用。本发明专利技术可以支持程序读取API描述文件,程序根据描述文件自动传递参数,简化了API开发者的工作,API结构更加直观和易读,更加容易被非专业的开发者接受。本发明专利技术中的自动生成API输出结构,可有效地减少了开发者设计API输出结构的工作,使得整个API结构可以半自动化生成。

【技术实现步骤摘要】

本专利技术涉及服务计算领域,服务组合基于RESTful架构的
,具体涉及。
技术介绍
现有很多对外提供服务的网站,如百度API store、聚合数据、API Cloud、leanCloud等等,这些服务提供商的网站都是基于RESTful架构。从Web开发技术的发展过程来看,Web从最初的主要支持静态页面,到后来越来越支持动态页面。静态页面为主典型代表有门户网站、电子商务网站、搜索引擎、社交网站,到后来交互性强的多人在线的网页游戏。Rest是Roy Fielding在他2000年的博士学位论文中提出的一种新的网站架构。REST本意是“Representat1nal State Transfer”,意思是表述性转移的缩写。所有网站符合REST设计风格都称为RESTful。分布式应用架构是REST非常成功的例子。REST风格中有以下六个关键词: 1.资源(Resource) 资源是一种对服务器抽象的概念。将服务器看成由很多离散的资源组成,每个资源是服务器上一个可命名的抽象概念。一个资源可以由特定url来表示,客户端可以通过url来访问对应资源。2.资源表述 资源表述表示某个资源某段时间内的状态表述。主要用于服务器和客户端进行数据交换。资源的表述可以有多种方式,以下几个比较常见的,如HTML/XML/JS0N/TXT/PNG等等。3.状态转移 指客户端与服务器端之间转移代表资源状态表述。客户端以HTTP方式请求服务器上的资源,对资源进行操作,比如添加资源、修改资源、删除资源。4.统一接口 客户端通过HTTP协议来访问服务器。正好HTTP的几个方法对应服务器资源的操作,GET方法表示获取资源,POST方法表示新建资源,DELETE方法表示删除资源,PUT表示更新资源。5.超文本驱动 超文本驱动的全称为“将超媒体作为应用状态的引擎”。将Web应用看成一个很多状态组成的状态机。在应用中,不仅包含资源,还包含对资源操作的状态转移语义。基于RESTful架构的网站,其对外提供的服务,可以统称为RESTful API。下文出现API都是指的RESTful API o RESTful架构通常是,客户端以HTTP或HTTPS方式对服务器发起请求,服务器返回数据格式一般是JS0N类型。开发者通过阅读相关的文档来使用API。但是每个服务提供商的API文档格式千奇百怪,有些文档并不够完善。甚至有时候API已经改变了,但没有及时更新文档也是常见问题。文档作为开发者唯一交流方式有很多弊端,并且不够直观易懂。
技术实现思路
针对上述的遇到的问题,本专利技术了,使API更加直观并且易懂。本专利技术基于API调用实例的返回数据,可视化展示API。具体的,本专利技术的采用了如下技术方案: ,基于API调用实例的返回数据,可视化展示API,具体包括如下步骤: 1、分析API的输入结构和具体用途,构造输入用例; 2、执行步骤1中所述输入用例,得到返回数据,所述返回数据包括如下两类: a.服务器返回有效数据; b.服务器返回无效数据; 3、若步骤2中返回的是无效数据,提示返回无效数据;若返回的是有效数据,则解析有效数据,将其转化为模型数据; 4、使用自动布局算法,将所述模型数据按照算法可视化展现。优选的,所述步骤1中构造输入用例具体包括如下步骤: 1.1根据需求,设计API节点基本信息; 1.2根据所述API节点基本信息,设计API输入结构; 1.3根据所述API输入结构,构造合理的输入用例。优选的,所述步骤4具体包括如下步骤: 4.1定义ApiModel数据模型,用于描述API的功能用途及其它基本信息; 定义InputModel数据模型,用于表示API的输入结构根节点; 定义OutputModel数据模型,用于表示API的输出结构根节点; 4.2将所述InputModel、ApiModel、OutputModel按照从左到右的顺序,即横坐标从小变大,但纵坐标相等的顺序摆放; 4.3递归生成InputModel子树所有子模型坐标;从右向左顺序摆放元素,每个子节点与父节点的坐标差值为常量(_dx, dy); 4.4递归生成OutputModel子树所有子模型坐标;从左到右顺序摆放元素,每个子节点与父节点坐标差值为常量(dx, dy)。本专利技术的有益技术效果在于: (1)直观地将API的内部数据结构展现出来,利于开发者快速读懂API。比阅读API文档,更加的快速和直观。(2)只需要人工设计API的输入结构和输入数据示例,即可获得API的输出。一般API的输出结构比较复杂,该方法可以减少手动设计API的工作量。(3)可视化展现API结构,人工辅助给每个节点,添加一些描述信息,最后可以自动生成统一格式的文档。【附图说明】图1为本专利技术一个实施例的实现框架示意图; 图2为本专利技术一个实施例火车票到站查询的示例图。【具体实施方式】为了更加具体描述本专利技术,下面结合附图及【具体实施方式】对本专利技术的技术方案详细说明。为了可视化的图形显示API结构,本专利技术定义了一种资源模型,即将整个API看成一个树状结构,节点表示数据字段(字段对应值对类型的数据),而连线表示字段之间的包含关系,如果节点有子节点,那么子节点表示的数据字段为父节点的内部字段。API节点表示根节点,其子节点有输入和输出。本专利技术的,包括如下步骤: (1)分析API的输入结构和用途,构造合理的输入用例; (2)执行(1)输入用例,获得返回数据,返回数据分两类: i服务器返回正常的有效数据; ii服务未返回有效的数据; (3)若返回的是有效数据,则解析(2)返回数据,将其转化为模型数据;若返回的是无效数据,则提示返回无效数据 在本专利技术的一个实施例中,为了实现上述步骤⑵中,将JS0N数据对应成内存中的模型数据,本实施例定义了 KeyValueMode 1来对应JS0N的值对,定义了连线模型LineConnect1nModel表示JS0N字段的内部字段包含关系。定义了 ApiModel模型数据,用来描述API的功能用途等基本信息,InputModel数据模型表示API的输入结构根节点,OutputModel数据模型表示API的输出结构根节点,连线模型用于表示模型数据节点之间的包含关系。本文使用了 MVC设计模式,可以直接模型Model映射成视图View,通过控制器Controller来管理Model与View之间的联系。当用户操作视图时,Controller可以将用户输入数据转化为对应的模型数据。当模型改变时,Controller将响应模型对应视图View的变化。上述步骤(2)中,对返回结果1的处理具体过程如下: 以下方法使用到第三方JS0N解析开源工具JSON-lib。将整个JS0N的作为一个输出的根节点,使用迭代器方法深度优先遍历整个JS0N数据结构。假设当前迭代器指向的当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种RESTful  API可视化方法,基于API调用实例的返回数据,可视化展示API,具体包括如下步骤:1、分析API的输入结构和具体用途,构造输入用例;2、 执行步骤1中所述输入用例,得到返回数据,所述返回数据  包括如下两类:a. 服务器返回有效数据;b. 服务器返回无效数据;3、若步骤2中返回的是无效数据,提示返回无效数据;若返回的是有效数据,则解析有效数据,将其转化为模型数据;4、使用自动布局算法,将所述模型数据按照算法可视化展现。

【技术特征摘要】

【专利技术属性】
技术研发人员:李莹孙祖汉柳生鹏尹建伟邓水光吴健吴朝晖
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1