由于简单同时又强大的 Mock 特性,dgate在我的项目中除了作为简单的 API 网关,它也承担着面向前端的 Mock Server 作用,保证前后端开发同步进行。最近,因为项目的需要,顺手给它增加了一个新的 Mock 特性:EventBusBridge。
使用很简单,DSL 的例子如下:
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 几乎一致。其中:
对于 expected,它既可以为一个固定的值,也可以为一个闭包。当为闭包时,其返回值为 mock 结果。同时,对于 consumers 中的 expected,闭包的入参为 event message。
相关链接:
觉得有帮助的话,不妨考虑购买付费文章来支持我们 🙂 :
付费文章