Api 设计,Apihug Plugin 支持Map 可视化设计啦!

69 阅读2分钟

前提

前两篇我们讨论了API 设计的一些基础, 在讨论 MAX/MIN 使用时候涉及到了列表和MAP对象。

Map , 自然我们在proto DSL 早已支持, 但是 IDEA 中还一直不支持 map 的展示, 所以在 0.7.6 我们加上啦!

  1. Api 设计,为什么契约在内部和外部都如此重要?
  2. Api 设计,你的max/min 长度、元素数与属性数用对了吗?

[0.7.6] - 2025-08-15

​Features

  • Upgrade default spring dependencies;
  • Support protobuf map parser and show;
  • Default protobuf linkage of the apihug extension;
  • Bug fix;
map<string, uint64> all_scores = 2 [(hope.swagger.field) = {
  description: "all score";
  max_length: {
    value: 64
  }
  additionalProperties:{
    maximum:{
      value: 22222
    }
    minimum:{
      value: 55555
    }
  }
}];

map<string, JakeRequest> blue_pig = 4 [(hope.swagger.field) = {
  description: "blue frogs";
  max_length: {
    value: 64
  }
  additionalProperties:{
    maximum:{
      value: 22222
    }
    minimum:{
      value: 55555
    }
  }
}];

可视化设计:

image.png

可视化设计 MAP 很的很爽哈, 虽然不建议在API 中引入MAP 这样的数据结构

PS 知道为什么吗?

捎带复习下插件 FAQ:

ApiHug API 设计助手的常见问题

​ProtoBuf

​Proto 文件无法识别

目前 IDE 支持的 Proto buffer 插件主要有两种:

  1. IDE 自带的,供应商为 JetBrains s.r.o. ✅✅✅
  2. 第三方 HIGAN 插件 ❌❌❌

这两个插件存在冲突,只能启用其中一个。⚠️

ApiHug Plugin 依赖于 IDE 自带的 Proto Editor 插件进行 AST 语法树解析,因此必须启用 JetBrains s.r.o. ✅ Proto 插件:

ApiHug plugin

​Proto 文件无法导入,无法识别 proto import

ApiHug SDK proto 导入 import "swagger/annotations.proto"; 时报错:

ApiHug SDK proto import import "swagger/annotations.proto"; 失败:

ApiHug plugin SDK import error

01: 编译项目, compile the project (通过 markdown 或 gradle 任务)

ApiHug 2 ways build project

02: 编译完成后,查看 proto 项目的 build 缓存,after compile success, check the project proto build cache:

{PROJECT}/{PROTO-MODULE}/build/extracted-include-protos:

ApiHug success build

03:如果仍未成功导入,手动配置 proto import;if still not import then please add path manually:

  1. 打开 Settings 面板
  2. 找到 Protocol Buffers
  3. 取消勾选 Configure Automatically
  4. 将 {PROJECT}/{PROTO-MODULE}/build/extracted-include-protos 添加到 Import Paths 中:

从 Plugin 0.7.6 版本起,插件已内置这些预定义的 proto 文件。

ApiHug import finally

最终所有 import 语句都应变为绿色,Eventually all the import should turn green!

⚠️ 有时官方的 proto editor 可能会崩溃,请留意崩溃提示!

若即使重启 IDEA 问题依旧存在,请向我们报告:report issue

​Gradle

​无法识别 Gradle 项目

IDE 应弹出 Load Gradle Project 提示,若通知被关闭,请打开 Notification 面板手动触发。

IDE should pop up a notification: Load Gradle Project,if notification pop up was forbidden, then please open the Notification panel to load it manually!

ApiHug Load gradle project

​Gradle 编译失败

  1. report issue
  2. Homepage 查找二维码加入我们的交流群。

​API 设计树未显示/未刷新

  1. 刷新树
  2. 重建树(耗时操作),重新编译后再刷新

ApiHug Rebuild

若错误仍然存在,则 report issue

​检查版本

检查已安装的 ApiHug IDE 插件版本:

顶部菜单:ApiHug -> About

ApiHug version check