You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过ODM Decision Center API访问自定义配置参数

访问ODM Decision Center自定义配置参数的API指南

刚好在最近的ODM项目里折腾过这个,给你详细说下怎么用API访问自定义配置参数,还有通用的配置参数访问方法:

一、先搞定认证(必做前置步骤)

不管你用REST API还是Java客户端,第一步都是过认证:

  • REST API:最常用的是Basic Auth,把用户名密码用Base64编码后放在Authorization头里;如果你的环境用OAuth2,就先调用token端点拿到Bearer Token再用。
  • Java API:直接在客户端初始化时传入用户名密码或者token即可。

二、访问通过向导创建的自定义全局配置参数

你通过Decision Center > Configure > Installation Settings Wizard > Step5创建的参数属于全局配置参数,所有项目都能访问,对应的API操作如下:

1. REST API方式

获取所有全局配置参数(包括自定义的)

用GET请求调用全局配置端点,会返回所有参数的键值对列表:

curl -X GET "http://<DC_HOST>:<DC_PORT>/decisioncenter/api/v1/configurations/global" \
  -H "Authorization: Basic <BASE64_USER_PASS>" \
  -H "Accept: application/json"

返回的JSON结构里,properties数组就是所有参数,你可以从中找到自己创建的自定义参数,比如:

{
  "properties": [
    {"key": "my.custom.param", "value": "my-test-value"},
    // 其他系统默认参数...
  ]
}

单独获取某个自定义参数

如果你知道参数的键名,直接用GET请求指定键的端点,更高效:

curl -X GET "http://<DC_HOST>:<DC_PORT>/decisioncenter/api/v1/configurations/global/my.custom.param" \
  -H "Authorization: Basic <BASE64_USER_PASS>" \
  -H "Accept: application/json"

返回结果就是该参数的具体值,比如"my-test-value"。

2. Java API方式

如果你用ODM提供的Java客户端库,可以直接通过ConfigurationService来获取:

// 初始化Decision Center客户端
DecisionCenter dcClient = DecisionCenter.newInstance()
    .setEndpoint("http://<DC_HOST>:<DC_PORT>/decisioncenter")
    .setCredentials("admin", "password")
    .build();

// 获取配置服务
ConfigurationService configService = dcClient.getConfigurationService();

// 读取自定义全局参数
String customParamValue = configService.getGlobalConfigurationProperty("my.custom.param");
System.out.println("自定义参数值:" + customParamValue);

三、访问配置参数的通用方法

除了全局参数,Decision Center还有项目级配置参数,这里给你整理通用的API规则:

1. 区分全局/项目级参数

  • 全局参数:对应端点/decisioncenter/api/v1/configurations/global,适用所有项目,就是你通过向导创建的那种。
  • 项目级参数:对应端点/decisioncenter/api/v1/projects/{projectId}/configurations,只针对某个特定项目,需要替换{projectId}为你的项目ID。

2. 常用API操作

  • 获取单个参数:在对应端点后加/{key}即可(比如全局的/global/my.key,项目级的/projects/{id}/configurations/my.key)。
  • 修改参数值:用PUT请求,把新值放在请求体里,比如修改全局参数:
    curl -X PUT "http://<DC_HOST>:<DC_PORT>/decisioncenter/api/v1/configurations/global/my.custom.param" \
      -H "Authorization: Basic <BASE64_USER_PASS>" \
      -H "Content-Type: text/plain" \
      -d "new-value"
    
  • 权限要求:调用这些API的用户需要有Configurator或Administrator角色,否则会返回403错误。

3. 版本差异注意

如果你的ODM版本低于8.10,REST API的端点可能略有不同(比如8.9的全局参数端点是/decisioncenter/rest/configurations/global),如果用的是旧版本,记得对应调整路径。


内容的提问来源于stack exchange,提问作者freecouch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:32:39