System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种web api自动化部署方法及装置。
技术介绍
1、web api是应用程序之间进行通信的接口,它定义的规则和协议允许开发人员通过网络请求的方式访问远程服务器上的数据以及对远程服务器上的资源进行更新或删除等操作,可以实现共享及各种业务需求。web api广泛应用于web开发、移动应用程序开发、服务集成等领域。
2、很多web api在功能上与开发框架完全独立,如一些数值计算、数据查询等,但创建这些web api时仍要遵守常规的创建步骤,这个过程既漫长效率又低还容易出错,因此,采用常规的web api创建步骤创建一些功能相对简单、与开发框架耦合度低的web api会造成资源浪费;此外,常规的web api创建步骤具有复杂性高、安全性低及兼容性差等问题,所以研究脱离开发框架的web api自动化生成方法极为重要。
技术实现思路
1、本公开提供了一种web api自动化部署方法、装置、设备以及存储介质。
2、根据本公开的第一方面,提供了一种web api自动化部署方法。该方法包括:
3、接收前端表单发送的数据,从所述数据中提取功能代码;
4、根据所述功能代码编写dockerfile并根据dockerfile构建镜像;
5、运行所述镜像对应的容器,生成对应的接口。
6、在第一方面的一些可实现方式中,运行所述镜像对应的容器,还包括:
7、运行所述镜像对应的容器时,执行所述功能代码
8、在第一方面的一些可实现方式中,执行所述功能代码,包括:
9、结合容器中的python解释器执行所述功能代码,若执行所述功能代码时出现错误,则获取错误信息并发送给用户;其中,
10、所述python解释器用于确保仅执行可信任的代码并处理异常情况;其中,所述异常情况至少包括下列中的至少一种:代码运行超时、内存溢出;
11、所述执行所述功能代码时出现错误,至少包括下列中的至少一种:
12、所述功能代码无效或存在语法错误或运行异常。
13、在第一方面的一些可实现方式中,将容器的端口映射到主机相应的端口上,包括:
14、容器的端口映射到主机的一个随机端口上,通过端口映射记录表记录所述随机端口以避免端口冲突;
15、或者,通过配置文件对主机端口进行分配,根据容器的网络模式将容器加入主机网络中,以便容器直接使用指定的主机端口。
16、在第一方面的一些可实现方式中,前端表单包括代码输入表单;其中,
17、所述代码输入表单为在前端接收用户输入的代码和/或用户上传的代码文件。
18、在第一方面的一些可实现方式中,所述在前端接收用户输入的代码和/或用户上传的代码文件之后,包括:
19、在前端,通过代码显示界面将接收到的代码的语法进行高亮标注,以便用户查看、保存、分享上传至前端的代码;
20、通过日志记录用户操作,跟踪用户上传至前端的代码的执行情况。
21、在第一方面的一些可实现方式中,所述根据所述功能代码编写dockerfile之前,包括:
22、对所述功能代码采取安全措施;其中,
23、所述安全措施,至少包括下列中的至少一种:
24、代码审查、输入验证、限制执行权限。
25、根据本公开的第二方面,提供了一种web api自动化部署装置。该装置包括:
26、功能代码提取模块,用于接收前端表单发送的数据,从所述数据中提取功能代码;
27、镜像构建模块,用于根据所述功能代码编写dockerfile并根据dockerfile构建镜像;
28、接口生成模块,用于运行所述镜像对应的容器,生成对应的接口。
29、根据本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上所述的方法。
30、根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如上所述的方法。
31、在本公开中,后端接收前端表单发送的数据,从所述数据中提取功能代码,根据所述功能代码编写dockerfile并根据dockerfile构建镜像,运行所述镜像对应的容器,生成对应的接口。以此方式,解决了现有web api创建过程中存在的复杂性高、安全性低、兼容性差、资源浪费等问题,且本方法使用简单、易于实现、接口部署的效率和准确性较高、功能代码与开发框架完全解耦,具有良好的应用前景。
32、应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
【技术保护点】
1.一种Web API自动化部署方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述运行所述镜像对应的容器,还包括:
3.根据权利要求2所述的方法,其特征在于,所述执行所述功能代码,包括:
4.根据权利要求2所述的方法,其特征在于,所述将容器的端口映射到主机相应的端口上,包括:
5.根据权利要求1所述的方法,其特征在于,所述前端表单包括代码输入表单;其中,
6.根据权利要求5所述的方法,其特征在于,所述在前端接收用户输入的代码和/或用户上传的代码文件之后,包括:
7.根据权利要求1所述的方法,其特征在于,所述根据所述功能代码编写Dockerfile之前,包括:
8.一种Web API自动化部署装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一权利要求所述的方法。
【技术特征摘要】
1.一种web api自动化部署方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述运行所述镜像对应的容器,还包括:
3.根据权利要求2所述的方法,其特征在于,所述执行所述功能代码,包括:
4.根据权利要求2所述的方法,其特征在于,所述将容器的端口映射到主机相应的端口上,包括:
5.根据权利要求1所述的方法,其特征在于,所述前端表单包括代码输入表单;其中,
6.根据权利要求5所述的方...
【专利技术属性】
技术研发人员:郝伟,刘加瑞,
申请(专利权)人:安徽华云安科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。