在智能对话开发平台上发布、调用API的方法和系统技术方案

技术编号:18710223 阅读:48 留言:0更新日期:2018-08-21 22:35
本发明专利技术公开在智能对话开发平台上发布API的方法及装置,其中,方法包括:响应于开发者在智能对话开发平台的API发布界面上的输入操作,获取待发布API的基本信息、输入参数和返回参数;在API发布界面上,基于预定的serverless模板引导开发者编写待发布API的功能代码;测试待发布API能否正常使用;响应于使用正常,生成第二响应地址以作为待发布API的发布地址,将待发布API部署为serverless服务并将待发布API及对应的第二响应地址发布至智能对话开发平台的API网关。本发明专利技术的方案可以屏蔽复杂的授权算法、不暴露授权key等加密数据,以API网关统一的授权key对外部开放。

Method and system for issuing and calling API on intelligent dialogue development platform

The invention discloses a method and a device for publishing an API on an intelligent dialogue development platform, wherein the method includes: acquiring the basic information, input parameters and return parameters of an API to be published in response to the input operation of the developer on the API publishing interface of the intelligent dialogue development platform; and on the API publishing interface, based on the predetermined serverless The template guides the developer to write functional code for the API to be published; tests whether the API to be published can be used properly; generates a second response address as the publishing address for the API to be published in response to normal usage; deploys the API to be published as a serverless service and publishes the API to be published and the corresponding second response address to the intelligent dialogue development. The API gateway of the platform. The scheme of the invention can shield the complex authorization algorithm, not expose the authorization key and other encrypted data, and opens the authorization key of the API gateway to the outside world.

【技术实现步骤摘要】
在智能对话开发平台上发布、调用API的方法和系统
本专利技术属于日志分析
,尤其涉及在智能对话开发平台上发布、调用API的方法和系统。
技术介绍
中小型公司,尤其是互联网行业的创业公司,本身并没有太多的技术人员,如果设计系统时需要考虑诸多的技术问题,例如Web应用服务器如何配置、数据库如何配置、消息服务中间件如何搭建等等,那对于他们来说人员成本、系统成本会很高,Serverless架构(无服务器架构)的出现,让这种情况可能可以大幅度改善。在目前主流云计算IaaS(Infrastructure-as-a-Service,基础设施即服务)和PaaS(Platform-as-a-Service,平台即服务)中,开发人员进行业务开发时,仍然需要关心很多和服务器相关的服务端开发工作,比如缓存、消息服务、Web应用服务器、数据库,以及对服务器进行性能优化,还需要考虑存储和计算资源,考虑负载均衡和横向扩展能力,考虑服务器容灾稳定性等非专业逻辑的开发。这些服务器的运维和开发知识、经验极大地限制了开发者进行业务开发的效率。设想一下,如果开发者直接租用服务或者开发服务而无须关注如何在服务器中运行部署服务,是否可以极大地提升开发效率和产品质量?这种去服务器而直接使用服务的架构,我们称之为Serverless架构。API(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。开放是目前的发展趋势,越来越多的产品走向开放。为了对外提供统一的API接口,需要对开发者开放资源调用API的站点提供开放统一的API接口环境,来帮助使用者访问站点的功能和资源。API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。专利技术人在实现本专利技术的过程中发现:相关技术中,一般都是通过输入参数映射的方式将API发布到API网关。但是,大多数API的授权加密等参数是通过复杂算法计算得到的,无法直接通过输入参数映射的方式将API发布到API网关。
技术实现思路
本专利技术实施例提供一种在智能对话开发平台上发布、调用API的方法和系统,用于至少解决上述技术问题之一。第一方面,本专利技术实施例提供一种在智能对话开发平台上发布API的方法,包括:响应于开发者在智能对话开发平台的API发布界面上的输入操作,获取待发布API的基本信息、输入参数和返回参数;在所述API发布界面上,基于预定的serverless模板引导开发者编写所述待发布API的功能代码,其中,所述serverless模板至少包括以下代码:获取用户的请求信息、获取待调用API的授权以及向所述待调用API的第一响应地址发送所述用户请求并获取所述第一响应地址的反馈信息;响应于开发者的测试请求,测试所述待发布API能否正常使用;响应于使用正常及开发者的发布请求,生成第二响应地址以作为所述待发布API的发布地址,将所述待发布API部署为serverless服务并将所述待发布API及对应的所述第二响应地址发布至所述智能对话开发平台的API网关。第二方面,本专利技术实施例提供一种在智能对话开发平台上调用API的方法,包括:响应于开发者在智能对话开发平台上调用其他开发者开发的API,获取所述开发者的账号和所调用的API在智能对话开发平台的API网关发布的响应地址;基于所述开发者的账号和所调用的API生成API统一授权秘钥;使用所述统一授权秘钥,向所述响应地址发送调用请求;以及基于所述响应地址返回的对第三方API的调用信息,发起对所述第三方API的调用请求。第三方面,本专利技术实施例提供一种在智能对话开发平台上发布API的系统,包括:信息获取模块,配置为响应于开发者在智能对话开发平台的API发布界面上的输入操作,获取待发布API的基本信息、输入参数和返回参数;功能编写模块,配置为在所述API发布界面上,基于预定的serverless模板引导开发者编写所述待发布API的功能代码,其中,所述serverless模板至少包括获取用户的请求信息、获取待调用API的授权以及向所述待调用API的第一响应地址发送所述用户请求并获取所述第一响应地址的反馈信息;测试模块,配置为响应于所述开发者的测试请求,测试所述待发布API能否正常使用;以及发布模块,配置为响应于使用正常及所述开发者的发布请求,生成第二响应地址以作为所述待发布API的发布地址,将所述待发布API部署为serverless服务并将所述待发布API及对应的所述第二响应地址发布至所述智能对话开发平台的API网关。第四方面,本专利技术实施例提供一种在智能对话开发平台上调用API的系统,包括:响应模块,配置为响应于开发者在智能对话开发平台上调用其他开发者开发的API,获取所述开发者的账号和所调用的API在所述智能对话开发平台的API网关发布的响应地址;授权模块,配置为基于所述开发者的账号和所调用的API生成API统一授权秘钥;以及请求发送模块,配置为使用所述统一授权秘钥,向所述响应地址发送调用请求。第五方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例的在智能对话开发平台上发布、调用API的方法的步骤。第六方面,本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本专利技术任一实施例的在智能对话开发平台上发布、调用API的方法的步骤。本专利技术实施例的有益效果在于:结合当下兴起的serverless技术,开发者基于预设模板编辑一段代码,完成API的映射。这样可以屏蔽复杂的授权算法、不暴露授权key等加密数据,以API网关统一的授权key对外部开放。并且开发者可以快速发布API至API网关,开发者开发自己的API服务时无需考虑网关的各种协议。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的一种在智能对话开发平台上发布API的方法的流程图;图2为本专利技术一实施例提供的一种在智能对话开发平台上发布API的方法的子步骤的流程图;图3为本专利技术一实施例提供的一种在智能对话开发平台上调用API的方法的流程图;图4a、图4b和图4c为本专利技术一实施例的在智能对话开发本文档来自技高网
...

【技术保护点】
1.一种在智能对话开发平台上发布API的方法,包括:响应于开发者在智能对话开发平台的API发布界面上的输入操作,获取待发布API的基本信息、输入参数和返回参数;在所述API发布界面上,基于预定的serverless模板引导开发者编写所述待发布API的功能代码,其中,所述serverless模板至少包括以下代码:获取用户的请求信息、获取待调用API的授权以及向所述待调用API的第一响应地址发送所述用户请求并获取所述第一响应地址的反馈信息;响应于所述开发者的测试请求,测试所述待发布API能否正常使用;响应于使用正常及所述开发者的发布请求,生成第二响应地址以作为所述待发布API的发布地址,将所述待发布API部署为serverless服务并将所述待发布API及对应的所述第二响应地址发布至所述智能对话开发平台的API网关。

【技术特征摘要】
1.一种在智能对话开发平台上发布API的方法,包括:响应于开发者在智能对话开发平台的API发布界面上的输入操作,获取待发布API的基本信息、输入参数和返回参数;在所述API发布界面上,基于预定的serverless模板引导开发者编写所述待发布API的功能代码,其中,所述serverless模板至少包括以下代码:获取用户的请求信息、获取待调用API的授权以及向所述待调用API的第一响应地址发送所述用户请求并获取所述第一响应地址的反馈信息;响应于所述开发者的测试请求,测试所述待发布API能否正常使用;响应于使用正常及所述开发者的发布请求,生成第二响应地址以作为所述待发布API的发布地址,将所述待发布API部署为serverless服务并将所述待发布API及对应的所述第二响应地址发布至所述智能对话开发平台的API网关。2.根据权利要求1所述的方法,其中,所述serverless模板包括:获取用户的请求信息;对所述用户请求信息二次处理以得到处理后的请求信息;获取待调用API的授权信息;使用所述处理后的请求信息和所述授权信息向所述待调用API的第一响应地址发送请求并获取所述第一响应地址的反馈信息;对所述反馈信息进行二次处理以得到处理后的反馈信息;向所述用户返回所述处理后的反馈信息。3.根据权利要求1或2所述的方法,其中,所述第二响应地址与所述智能对话开发平台的API网关的其他本地API具有相同的格式。4.根据权利要求3所述的方法,还包括:基于所述API网关为所述开发者开发的API提供统一的运维和管理。5.一种在智能对话开发平台上调用API的方法,包括:响应于开发者在智能对话开发平台上调用其他开发者开发的API,获取所述开发者的账号和所调用的API在智能对话开发平台的API网关发布的响应地址;基于所述开发者的账号和所调用的API生成API统一授权秘钥;使用所述统一授权秘钥,向所述响应地址发送调用请求;最基于所述响应地址返回的对第三方AP...

【专利技术属性】
技术研发人员:李波吴飞
申请(专利权)人:苏州思必驰信息科技有限公司
类型:发明
国别省市:江苏,32

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

1