[发明专利]一种生成IDL文件的方法、装置、介质和电子设备有效
申请号: | 202010231517.7 | 申请日: | 2020-03-27 |
公开(公告)号: | CN111414161B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 邬亮 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/448;G06F8/41;G06F8/73 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 马瑞 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 生成 idl 文件 方法 装置 介质 电子设备 | ||
本公开提供了一种生成IDL文件的方法、装置、介质和电子设备。所述方法包括:获取路由文件;分析每个路由文件,获取每个请求接口函数的路由信息;基于所述处理函数文件的路径信息获取对应的处理函数文件;分析每个处理函数文件,获取请求数据和设置响应数据的框架内置请求操作函数,以及每个请求接口函数对应的一组请求数据类型和响应数据类型;基于所述路由信息、所述请求接口函数对应的所述请求数据类型和所述响应数据类型生成第一文件。相比于手写IDL文件,本公开所述方法可自动根据golang代码生成IDL文件,具有更高的效率和准确性。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种生成IDL文件的方法、装置、介质和电子设备。
背景技术
现在的网络应用变得越来越复杂,一般通过功能分层的架构方式和职能拆解的分工方式来提升网络应用开发的效率。网络应用开发一般分为客户端开发和服务端开发。客服端和服务端通过应用接口进行对接。在理想的开发过程中,客户端和服务端开发者首先要协商并确定应用接口的信息,然后形成接口描述文档,最后根据接口描述文档进行开发和对接。
接口描述语言(英文全称Interface Description Language,简称IDL)是后端的远程过程调用协议(英文全称Remote Procedure Call Protocol,简称RPC)框架广泛使用的接口描述方式。具有独立于编程语言、简洁易懂等优点。但是,由于IDL是为RPC接口设计的,不能完整地描述HTTP接口。需要通过标注的方法在IDL上扩展HTTP接口信息,比如HTTP方法,数据在HTTP请求中的位置等,来描述HTTP接口。相比Swagger和YApi等JSON格式的HTTP接口描述方式,扩展的IDL更加简洁和易读。
但是,通过手工编写IDL文档是一个非常复杂的工作,容易出错。因而,对编写者的要求较高。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的目的在于提供一种生成IDL文件的方法、装置、介质和电子设备,能够解决上述提到的至少一个技术问题。具体方案如下:
根据本公开的具体实施方式,第一方面,本公开提供一种生成IDL文件的方法,包括:
获取路由文件;
分析每个路由文件,获取每个请求接口函数的路由信息;其中,所述路由信息包括与所述请求接口函数相关联的处理函数文件的路径信息和处理函数名;
基于所述处理函数文件的路径信息获取对应的处理函数文件;
分析每个处理函数文件,获取请求数据和设置响应数据的框架内置请求操作函数,以及每个请求接口函数对应的一组请求数据类型和响应数据类型;
基于所述路由信息、所述请求接口函数对应的所述请求数据类型和所述响应数据类型生成第一文件;其中,所述第一文件是由接口描述语言撰写。
根据本公开的具体实施方式,第二方面,本公开提供一种生成IDL文件的装置,包括:
获取路由文件单元,用于获取路由文件;
分析路由文件单元,用于分析每个路由文件,获取每个请求接口函数的路由信息;其中,所述路由信息包括与所述请求接口函数相关联的处理函数文件的路径信息和处理函数名;
获取处理函数文件单元,用于基于所述处理函数文件的路径信息获取对应的处理函数文件;
分析处理函数文件单元,用于获取请求数据和设置响应数据的框架内置请求操作函数,以及每个请求接口函数对应的一组请求数据类型和响应数据类型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010231517.7/2.html,转载请声明来源钻瓜专利网。