基于 Vert.x 的 API gateway dgate

码农软件 · 软件分类 · 网站API · 2019-03-09 06:57:37

软件介绍

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必需以"/"开始

本文地址:https://codercto.com/soft/d/941.html

劫持

劫持

玛丽•K. 斯温格尔(Mari K. Swingle) / 邓思渊 / 中信出版集团股份有限公司 / 2018-5-1 / CNY 59.00

《劫持》是一本探讨人与科技的关系的书,基于一位心理学博士20年的临床经验及其作为神经认知科学研究者的脑—电研究成果。在这本面向大众的科普书中,作者以深入浅出的方式,探讨了手机、电脑等便携式数字设备及让人“永不下线”的互联网对现代人尤其是青少年大脑的影响,从神经认知科学和精神分析的角度,有力地证明了数字媒介与大脑和人类行为的关系,探讨了手机等如何对人的大脑进行劫持或操控,并给出了自己作为从业医师的实......一起来看看 《劫持》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换