inBuilder今日分享丨RESTful API动态发布技术

RESTful API是什么?在inBuilder中的应用?如何实现动态发布?本文将为你一一解答。

一、什么是RESTful API?

RESTful API是一种流行的API设计风格,可以让软件更加清晰、简洁、有层次、易于维护。它充分利用了 HTTP 协议的各种功能,是 HTTP 协议的最佳实践。

二、RESTful API在inBuilder中的应用?

在inBuilder中,前后端通信采用RESTful风格的API。通过inBuilder低代码平台开发的应用中,API同样符合RESTful风格。

作为前后端通信的接口,inBuilder中每一个应用都需要众多的RESTful API来提供服务,为了提高开发效率且保证可维护性和稳定性,inBuilder使用了统一业务建模语言及RESTful API动态发布技术自动生成和发布RESTful API。

三、RESTful API动态发布技术详解

inBuilder中的RESTful API动态发布技术根据统一业务建模语言生成外部服务定义,将后端提供的服务构建并发布为RESTful API供外部调用,整个过程包括五个步骤(见图1所示):描述API、生成代码、编译代码、加载字节码和注册发布。具体实现过程如下:

图1 RESTful API动态发布过程

1、描述API

外部服务定义(见图2及图3)描述了提供服务的业务资源(如:视图对象)以及该业务资源提供的具体操作信息。每个具体操作中定义了请求路径、HTTP方法、参数、返回值等信息。

图2 外部服务定义元数据类型

图3 外部服务定义详细内容

2、生成代码

根据外部服务定义信息,inBuilder可以生成RESTful API的Java代码。生成的代码样例如图4所示。

图4 EAPI代码生成样例

3、编译代码

生成的Java代码需要编译成.class文件才能被JVM加载运行。inBuilder中使用Java动态编译技术,即JDK提供的javax.util.JavaCompiler类在运行期编译Java源代码。JavaCompiler类编译方法输入输出如图5所示。

图5 JavaCompiler动态编译方法

4、加载字节码

编译后的字节码(即.class文件)需要加载到JVM中才可以使用,这就需要借助Java提供的类加载器将字节码动态加载到JVM中。Java提供的URLClassLoader可以指定目录来加载类,inBuilder中通过实现其子类,将编译后的字节码加载到JVM中使用。动态加载字节码关键步骤如图6所示。

图6 利用类加载器加载字节码

5、 注册发布

加载字节码后,可以拿到Class类对象,使用Java反射生成该类的实例对象。CAF框架提供了接口用于注册RESTful API服务,调用接口时将实例对象作为入参传递即可完成RESTful API的动态发布。发布过程如图7所示。

图7 调用CAF框架接口注册发布RESTful API

总之,inBuilder团队的RESTful API动态发布技术使用了Java提供的动态编译技术,能够动态发布RESTful API并提高开发效率,让应用更易于维护和稳定。

如果想了解更多Java动态编译技术,可点击下载安装inBuilder开源社区版:inBuilder社区

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MY2gBNdz' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片