spring—是否可以将执行器健康api响应结构更改为自定义响应

8tntrjer  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(551)

我为不同的数据库编写了healthindicators,这些数据库扩展了spring的abstracthealthindicator。
但是最终消费者期望以不同的格式响应,其中期望的公共密钥和数据是不同的。
实际值:

{
    "status": "DOWN",
    "details": {
        "B": {
            "status": "UP",
            "details": {
                "reachable": true
            }
        },
        "A": {
            "status": "DOWN",
            "details": {
                "reachable": false
            }
        }
    }
}

预期:

{
    "result": true,
    "data": {
        "modules": [
            {
              "name": "A",
              "status": "OK"
            },
            {
                "name": "B",
                "status": "DOWN"
            },
        ]
    }
}

有没有可能写一个转换器,它可以做到这一点?

dz6r00yl

dz6r00yl1#

我认为你不能改变文件的格式 /health 在不改变内部执行器代码的情况下终止。
但是,您可以创建自己的端点来维护对健康端点的引用(毕竟它是一个bean,因此可以被注入),以便 @GetOperation 将调用原始的“health”端点,获取结果并将其转换为自定义格式。
原始运行状况终结点在此类中实现

相关问题