以前在简单介绍dremio webserver 的时候提过dremio 的api,实际上包含了量大部分,一个是为了bff的(方便前端使用的),一个是独立的
rest api 方便业务调用的(实际上就是官方文档中看到的)
接口开发处理
rest api 以及bff api 都是基于jax-rs 标准开发的,运行基于了jetty+jersey,为了访问区分,官方基于注解进行了区分,同时接口的注入都是基于
jersey ResourceConfig 动态加载的
- 注解说明
api 的APIResource 注解(使用的路径为api/v3/)bff api 使用了RestResource 注解(使用的路径为/apiv2 )
接口使用
对于rest api 官方是提供了比较完整的资料,bff 的可以自己通过源码学习
说明
dremio 在api处理上前端与业务集成的是分离的,方便维护,如果我们需要扩展自己的api 就可以参考上边说明进行开发,实际每个功能接口的处理可以参考源码学习
参考资料
https://docs.dremio.com/software/rest-api/
dac/backend/src/main/java/com/dremio/dac/server/WebServer.java
dac/backend/src/main/java/com/dremio/dac/server/DremioServer.java