block customStyle //- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. | -->

3.4 应用在线开发调试

当用户完成以上的应用创建和API规范设计向导流程,并生成应用的框架代码后,用户可点击应用所在的“编辑代码”连接进入应用代码编辑页面:

应用在线开发调试

进入应用代码编辑页面后,用户可以看到以下的代码编辑页面:

应用在线开发调试

在该页面中,用户可以完成为应用添加应用所需要的第三方NPM依赖包,以及启动在线调试等功能,以下分别介绍这些功能。

3.4.1 添加应用依赖包

进入应用编辑页面后,用户可以点击上方的“添加依赖”按钮为应用添加第三方NPM包,点击按钮后,系统会弹出以下的对话框供用户输入NPM包的名称:

添加应用依赖包

NPM包的名称及其API文档可以在https://npmjs.com查询到。例如,在以下的例子中,用户输入async包的名称并点击确定后,系统会将async包添加到应用的依赖中:

添加应用依赖包

此时,应用的package.json文件中的dependencies字段下增加了async包的名称,版本号为0.0.0,用户可以在代码编辑器左侧的导航栏中点击package.json文件名称得到新添加的async包的名称,如下图所示:

添加应用依赖包

此时,async依赖包的版本还未确定,用户可以点击“启动调试”按钮,系统将自动为该依赖包分配最新的版本号。

如果用户需要指定某个特定版本的async包,也可以手动改动该字段的版本号取值,不再以0.0.0开始。当用户手动指定依赖包的版本后,在点击“启动调试”按钮时,系统不会再为该依赖包分配最新的版本号,而是使用用户指定的版本号。

当用户对某个依赖包指定了一个不存在的版本时,系统会弹出以下的错误对话框,供用户选择正确的版本:

添加应用依赖包

3.4.2 启动调试

当用户点击“启动调试”按钮后,系统会在后台自动校验并安装应用包,并提示以下的进度条:

启动调试

取决于应用依赖包的数量,此过程通常需要6至8秒。进度条结束后表明系统已成功校验并安装应用包。如果此过程出现错误,系统会给出相应的错误信息。系统为安装过程设置了2分钟的超时机制。如果由于网络速度或其他因素导致安装失败,用户可以尝试重新点击启动调试按钮。

在校验安装进度结束后,用户可看到以下的代码编辑页面:

启动调试

在该页面中,顶部提供在线编辑、测试工具、调试信息、应用包发布和应用包下载等5个按钮。如下图所示:

启动调试

以下分别介绍这些功能。

3.4.2.1 代码编辑工具

当用户点击“代码编辑”按钮时,系统会进入以下的在线代码编辑页面:

代码编辑工具

在该页面中,用户可对服务应用的代码做在线编辑和保存。每次编辑和保存后,代码会实时存入系统数据库。

3.4.2.2 测试工具

当用户点击“测试工具”按钮时,系统会进入以下的在线API测试工具页面:

测试工具

在该测试工具中,用户可以在左侧一栏选择需要测试的应用、服务和API名称,如下图所示:

测试工具

在用户选择要测试的应用、服务和API名称时,中间一栏的API测试数据输入表单会跟随schema.json文件中API参数定义的不同而自动变化。然后用户可以在中间栏输入需要测试的API数据。这里我们以input对象下仅有一个foo字段,其枚举取值为abd和def为例,测试数据输入表单如下图所示:

测试工具

在用户从测试数据输入表单输入相应的API测试数据后,右侧的input输入表单会自动生成API输入参数的JSON对象,如下图所示:

测试工具

同时,用户可以在以上的input输入表单中手动编辑和修改API调用参数JSON数据并提交,如下图所示:

测试工具

除了下方的JSON body信息外,input输入表单中包含了本次API测试调用的URL, 请求方法和请求头部信息供用户参考。

在用户完成输入后,可以点击中间一栏的API测试数据输入表单下方的“提交”按钮发起API调用,返回的JSON数据将显示在右下方的output窗口中,如下图所示:

测试工具

以上output窗口中返回的信息包含了返回的HTTP头部信息和JSON body信息供用户参考使用。

3.4.2.3 调试信息

用户点击应用调试页面的“调试信息”按钮时,系统会进入以下的调试信息页面:

调试信息

在该页面中,系统提供了调试信息输出窗口,用户可以在上方的测试工具中输入API参数并提交后,在调试信息输入窗口中看到应用代码中console.log(), console.warn(), console.error()等调试打印信息。

根据这些调试信息,用户可以在代码编辑窗口中在线编辑服务应用代码,并通过在该窗口输出的调试信息来实时调试并改进应用代码。

对处于在线调试模式中的应用,系统不提供API数据缓存和限流保护等能力。该能力只在应用部署后的真实运行环境中提供。

3.4.2.4 应用包发布

当用户点击“应用包发布”时,系统会将当前正在编辑的应用包发布到系统后台,并在成功后给出以下的提示:

应用包发布

应用包发布成功后,用户可以在“应用包管理”页面中找到新发布的应用包,如下图所示:

应用包发布

此时,用户可以点击最右侧的部署应用连接,选择需要部署的应用版本并将应用部署到线上的正式生产环境中并开始使用。

同时,系统也会将用户新发布的应用包中包含的应用添加到“应用管理”页面和“我的应用”页面的列表中,如以下截图所示:

应用包发布

应用包发布

应用管理页面和我的应用页面中的应用状态会跟随应用包的部署状态变化。此时,由于应用还没有正式部署到正式生产环境中,这两个列表中的应用尚处于“不可用”状态。当用户在“应用包管理”页面中成功部署应用后,相应的不可用标志会消失。

3.4.2.5 应用包下载

当点击应用调试页面中的“下载应用包”按钮时,系统会将当前正在编辑的应用以压缩包的形式下载到本地,供用户备份或离线查看使用。

回到顶部