BizWorks接口掃描規(guī)范
接口掃描支持通過(guò)平臺(tái)掃描和使用BizWorks Toolkit掃描。本文介紹BizWorks接口掃描操作和規(guī)則。
觸發(fā)接口掃描操作步驟
通過(guò)平臺(tái)掃描接口
登錄BizWorks,在選擇平臺(tái)下拉列表中選中微服務(wù)開(kāi)發(fā)平臺(tái)。
單擊頁(yè)面右上角圖標(biāo)或其文本框區(qū)域,在下拉列表中單擊目標(biāo)項(xiàng)目名稱(chēng)后,單擊應(yīng)用頁(yè)簽。在應(yīng)用列表頁(yè)面單擊目標(biāo)中心應(yīng)用名稱(chēng)。
在目標(biāo)中心應(yīng)用左側(cè)導(dǎo)航欄中,選擇 。
在應(yīng)用接口管理頁(yè)面,單擊接口掃描。
在代碼掃描上報(bào)接口信息面板,單擊掃描代碼分支。在掃描代碼分支面板的代碼分支下拉列表中選中目標(biāo)代碼分支后,單擊提交。
使用BizWorks Toolkit掃描接口
BizWorks Toolkit支持接口掃描的前提是您對(duì)應(yīng)功能權(quán)限已經(jīng)開(kāi)通。在確認(rèn)擁有API的修改權(quán)限后,您需重新登錄BizWorks Toolkit刷新用戶權(quán)限信息,即可進(jìn)行接口管理。關(guān)于如何登錄BizWorks Toolkit賬號(hào),請(qǐng)參見(jiàn)登錄BizWorks Toolkit賬號(hào)。
打開(kāi)IDEA,您可以通過(guò)以下兩種方式進(jìn)入接口管理頁(yè)簽。
方式一:在頂部導(dǎo)航欄選擇 。
方式二:根據(jù)不同版本或主題風(fēng)格,在左側(cè)邊工具欄或底部工具欄單擊BizWorks窗口入口后,再單擊接口管理頁(yè)簽。
可選:接口掃描。
在接口管理頁(yè)簽的頂部工具欄,單擊圖標(biāo),插件將對(duì)當(dāng)前項(xiàng)目下所有Production范圍(不包括 test)的,且符合SpringMVC注解配置的接口進(jìn)行掃描。
掃描結(jié)果應(yīng)與SpringMVC運(yùn)行時(shí)接口范圍一致。更多信息,請(qǐng)參見(jiàn)接口掃描規(guī)則說(shuō)明。
可選:接口上報(bào)。單擊圖標(biāo)進(jìn)行增量或全量接口上報(bào)。
增量上報(bào):上報(bào)新增的接口,更新平臺(tái)已存在的接口。
全量上報(bào):以本地接口定義為準(zhǔn),覆蓋平臺(tái)接口信息,將刪除不存在的接口。
接口掃描規(guī)則說(shuō)明
接口掃描適應(yīng)于Java語(yǔ)言實(shí)現(xiàn),且遵循SpringMVC注解規(guī)范的HTTP接口。
當(dāng)前支持的框架和庫(kù)如下:
類(lèi)型 | 名稱(chēng) | 注解示例 |
服務(wù)端框架 | Spring MVC | @RestController, @GetMapping |
校驗(yàn)庫(kù) | Java Bean Validation | @NotNull |
序列化庫(kù) | ? FASTJSON ? GSON | @JsonProperty |
語(yǔ)言與注釋 | Java: Javadoc | 無(wú) |
掃描關(guān)系映射示意如下(下圖中序列號(hào)相同的字段,代表著相應(yīng)的映射關(guān)系):
API的掃描目前遵循與SpringMVC運(yùn)行時(shí)結(jié)果一致的原則,所以?xún)H在Interface
中聲明的API不會(huì)被掃描,需有具體的@Controlle
或@RestController
實(shí)現(xiàn)類(lèi)。
因?yàn)閷?shí)現(xiàn)類(lèi)原則上可以實(shí)現(xiàn)多個(gè)接口,可以覆蓋接口中描述的部分信息,故掃描同樣從實(shí)現(xiàn)類(lèi)開(kāi)始,當(dāng)實(shí)現(xiàn)類(lèi)中缺少對(duì)應(yīng)信息的時(shí)候再?gòu)某?lèi)或接口中尋找。
注釋控制
注釋控制,指的是通過(guò)在類(lèi)或方法注釋中,通過(guò)不同的注釋tag
,控制掃描的行為。示例代碼如下:
/**
* 商品SKU服務(wù)
* @folder 一級(jí)目錄/二級(jí)目錄
*/
@RestController("CommoditySkuServiceCON")
public class SkuServiceController implements SkuServiceI {
……
}
@folder
即為注釋的tag
,可以改變目錄從默認(rèn)的“商業(yè)SKU服務(wù)”到“一級(jí)目錄”/“二級(jí)目錄” 兩級(jí)目錄下。
當(dāng)前,所有支持的注釋tag
如下:
folder
指定目錄。類(lèi)上有效。可以通過(guò)目錄文本包含 “/”指定多級(jí)目錄。ignore
忽略指定Controller或方法上的接口掃描。類(lèi)或方法上有效。registerAPIGateway
是否注冊(cè)網(wǎng)關(guān)。方法上有效。可選值如下:true:注冊(cè)。
false:不注冊(cè)。
默認(rèn)注冊(cè)。
authPolicy
認(rèn)證策略,是否開(kāi)啟認(rèn)證。方法上有效。可選值如下:true/on:開(kāi)啟認(rèn)證。
false/off:關(guān)閉認(rèn)證。
default或不填:默認(rèn)策略。