因爲簡單同時又強大的Mock特性,dgate在個人項目中除了做爲簡單的API網關,它也承擔着面向前端的Mock Server做用,保證先後端開發同步進行。最近,由於項目的須要,順手給它增長了一個新的Mock特性:EventBusBridge。前端
使用很簡單,DSL的例子以下:git
apiGateway { port = 7001 host = 'localhost' urls { ... } eventBusBridge { urlPattern ='/eventbus/*' publishers { 'target_address' { expected = { [timestamp: Instant.now()] } timer = 1000 } } consumers { 'consumer_address' { target = "target_address" expected = [test: true] // 或者 {message -> ...} } } } }
語法很簡單,與Mock HTTP幾乎一致。其中:github
consumers,對應後端接收前端消息的消費者。後端
對於expected,它既能夠爲一個固定的值,也能夠爲一個閉包。當爲閉包時,其返回值爲mock結果。同時,對於consumers中的expected,閉包的入參爲event message。api
相關連接:閉包