我们有一个提供多种API的后端。这些API也使用CoreAPI进行了描述,并且作为JSON公开给客户端。
不是将这个JSON复制到我的客户端代码中,而是如何使IntelliJ根据此端点自动完成?我们可以例如有一个EndpointManager
可以在客户端中提供此JSON,而当我运行EndpointManager.getAPI().user.list.url
时,我希望在我输入user.
为我提供基于JSON部分的选项时自动完成>
"user": {
"list": {
"_type": "link",
"url": "/user/",
"action": "get"
}
}
我可以将JSON复制到我的客户端代码中,我认为IntelliJ会选择它。但是我想要一种动态的方式,这样我们就不必反复来回说“我更改了后端API结构,请获取JSON并再次提交”等。
答案 0 :(得分:1)
使用if ( (millis() - regDataTimeStamp) > DB_UPDATE_INTERVAL_MS) {
regData2DB();
regDataTimeStamp = millis();
}
获取JSON时,实际数据仅在运行时可用(即IDE需要评估代码以解析属性),因此使用静态代码分析无法完成解析/完成。
您可以让IDE知道运行时数据的外观。使用JSDoc注释的可能解决方案:
EndpointManager.getAPI()
另请参见https://youtrack.jetbrains.com/issue/WEB-17419#comment=27-1058451,https://intellij-support.jetbrains.com/hc/en-us/community/posts/206349469-disable-unresolved-variable-on-json-object-received-by-ajax-call