dgate基于 Vert.x 的 API gateway

联合创作 · 2023-09-19 05:45

dgate 是基于 Vertx 的 API Gateway。运行 dgate 的命令如下:



java -jar dgate-version-fat.jar -Dconf=conf

 


其中的 conf 属性用来指定运行所需的配置文件。


conf的文件格式


dgate采用ConfigSlurper解析conf文件,因此其文件的语法实际上是Groovy语法。


conf文件由多个Api Gateway的定义组成,对于每个Gateway定义如下:



apiGatewayName {
    port //端口
    login //后端login服务的url,其值为urls中的一个url
    urls { URL配置(UrlConfig)列表 } //dgate暴露的url列表
}

 


对于每个URL配置,其结构如下:



url {
    required //必需参数列表
    methods  //支持的HTTP Method
    upstreamURLs { 上游URL列表(UpStreamURL) }
    expected //期望返回值
}

 


其中:



  • required支持两种格式:List和Map。前者适用于不区分HttpMethod时的参数验证,后者则可以针对不同的HttpMethod分别进行设置。



    • List,如:required = ["sub", "password"]


    • Map,如:required = [get: ['param1'], post: ['param2'], delete: ['param3']]



  • expected和upStreamURLs两个属性不能并存


  • expected主要用于mock模式,其目的是为了便于依赖dgate的访问层可以自行mock所需的响应,使得它们的开发进度受dgate开发进度的影响最小化。


  • 对于expected的内容:



    • statusCode和payload至少有一个


    • 或针对具体的HTTP METHOD的返回值



  • 对于每个上游URL,有3个属性:host、port和url,其中url必需以"/"开始


浏览 11
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报