如何通过Enterprise Architect API在Gitbook中直接引用UML图?
直接通过REST API引用Sparx EA中的UML图到Gitbook
好问题!Sparx Enterprise Architect从版本15开始就支持REST API,完全可以实现直接获取UML图的PNG链接,跳过手动复制到Paint导出的繁琐步骤。下面是具体的操作思路和步骤:
1. 先确认EA的REST API已启用
首先得确保你的EA版本在15及以上,然后开启REST服务:
- 打开EA,进入
Tools > Options > REST API选项卡 - 勾选“Enable REST API”,设置好访问端口(比如默认的9999),同时配置好访问权限(如果需要认证的话,设置用户名和密码)
2. 获取目标UML图的GUID
每个EA里的图都有唯一的标识符GUID:
- 打开你要引用的UML图
- 点击
View > Properties,在属性面板里找到“GUID”字段(格式通常是{XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX})
3. 构造REST API的PNG获取链接
EA的REST API提供了专门的端点来导出图为PNG,格式如下:
http://<EA服务器地址>:<端口>/api/model/diagram/<图的GUID>/image?format=png
- 替换
<EA服务器地址>:如果是本地运行EA,就填localhost;如果是部署在服务器上,填对应的IP或域名 - 替换
<端口>:就是你刚才在EA里设置的REST端口 - 替换
<图的GUID>:注意有些版本需要去掉GUID的大括号,有些可以保留,建议先测试下两种格式哪个能正常返回图片
4. 处理权限验证(如果有设置)
如果你的EA REST API开启了用户名密码认证,那么在Gitbook访问这个链接时需要带上Basic Auth信息。你可以把认证信息直接嵌入到URL里(测试用很方便,生产环境建议用更安全的方式):
http://<用户名>:<密码>@<EA服务器地址>:<端口>/api/model/diagram/<图的GUID>/image?format=png
5. 在Gitbook的Markdown中直接引用
拿到可用的链接后,就可以用Markdown的图片语法直接引用了:

这样Gitbook构建成HTML时,就会直接从EA的REST API拉取最新的UML图,不用再手动导出更新了。
一些注意事项
- 要保证EA的REST服务一直处于运行状态,否则Gitbook构建时会无法加载图片
- 如果是团队协作,要确保所有成员和构建服务器都能访问到EA的REST服务地址
- 可以通过添加额外参数调整图片输出,比如
&width=1920指定宽度,&border=true显示边框,具体参数可以在EA的官方帮助文档里搜索“REST API Diagram Image”找到详细说明
内容的提问来源于stack exchange,提问作者Raman
相关产品推荐
相关产品推荐

