配置服务器响应的格式与保管库服务器上的格式不同

问题描述

所以,我正在开发 Spring Cloud 配置服务器并使用 git 和 vault 作为我的后端。下面是我的 application.yml 文件

server:
   port: 8888
spring:
   profiles:
      active: git,vault
   application:
      name: application
   cloud:
      config:
         server:
            git:
               uri: https://someurl.com
            vault:
               port: 8200
               host: 127.0.01
               kv-version: 1
               backend: secret
               profileSeparator: /
management:
  endpoints:
    web:
      exposure:
        include: '*'

我已将我的机密以 json 格式保存在保险库中,如下所示:-

{
  "default": {
    "abc1": "xyz","abc2": "xyz3"
  },"username": "user-id","properties": {
    "abcd": {
      "XYZ": "012","PQR": "alphabets"
    }
  }
}

但是当我尝试使用 http://localhost:8888/application/default 获取这些属性作为我的配置服务器响应时,我得到的响应如下:-

{
    "name": "application","profiles": [
        "default"
    ],"label": null,"version": null,"state": null,"propertySources": [
        {
            "name": "vault:application","source": {
                      "default.abc1": "xyz","default.abc2": "xyz3"
                      "username": "user-id"
                      "properties.abcd.XYZ": "012","properties.abcd.PQR": "alphabets"
                }
        }
}

基本上我希望我的响应看起来像一个嵌套的 json,就像它在 vault 服务器上的方式而不是点格式。我希望我的回复看起来像这样:-

{
    "name": "application","source": {
                      "default": {
                      "abc1": "xyz","abc2": "xyz3"
                       },"properties": {
                        "abcd": {
                        "XYZ": "012",--> //I don't want these props likethis  "properties.abcd.XYZ": "012"
                        "PQR": "alphabets"
                         }
                       }
                }
        }
}

所以,想知道在使用 vault 作为后端时,有没有可能操纵我的配置服务器响应的结构(格式)?例如:当我在本地文件系统后端工作时,它提供了 PropertySourceLoader 接口,我们可以通过覆盖 load() 方法来实现和操作我们的响应结构到 map 中,我们可以做类似的事情吗?也有这种情况?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...