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社区

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值