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

需为VMware API的-d参数部分编写Groovy映射代码

编写Groovy代码生成VMware CPU配置的请求体

针对你需要生成VMware API中CPU配置PATCH请求的请求体(对应curl命令里的-d参数),这里提供两种可参数化的Groovy实现方式,方便你传入CPU数量、每插槽核心数等参数:

方法一:使用Map+JsonOutput转换

这种方式直观易懂,通过普通Map构造数据结构,再转成JSON字符串:

// 定义可灵活修改的CPU参数
int cpuCount = 4
int coresPerSocket = 2
boolean hotAddEnabled = true
boolean hotRemoveEnabled = false

// 构建与API要求匹配的请求体结构
def cpuSpecMap = [
    spec: [
        cores_per_socket: coresPerSocket,
        count: cpuCount,
        hot_add_enabled: hotAddEnabled,
        hot_remove_enabled: hotRemoveEnabled
    ]
]

// 导入Groovy内置的JSON工具类,转换为JSON字符串
import groovy.json.JsonOutput
String requestBody = JsonOutput.toJson(cpuSpecMap)

// 可选:格式化JSON方便调试查看
println JsonOutput.prettyPrint(requestBody)

方法二:使用JsonBuilder构建

如果后续需要扩展更复杂的请求结构,JsonBuilder会更灵活:

import groovy.json.JsonBuilder
import groovy.json.JsonOutput

// 把参数封装成Map,便于统一传入
def cpuParams = [
    cpuCount: 4,
    coresPerSocket: 2,
    hotAddEnabled: true,
    hotRemoveEnabled: false
]

// 用JsonBuilder构建符合API格式的JSON
def jsonBuilder = new JsonBuilder()
jsonBuilder {
    spec {
        cores_per_socket cpuParams.coresPerSocket
        count cpuParams.cpuCount
        hot_add_enabled cpuParams.hotAddEnabled
        hot_remove_enabled cpuParams.hotRemoveEnabled
    }
}

// 获取最终的请求体字符串
String requestBody = jsonBuilder.toString()

// 可选:格式化输出
println JsonOutput.prettyPrint(requestBody)

两种方式生成的JSON字符串,完全对应curl命令中-d后的内容,你可以直接将requestBody作为请求体,配合已有的会话ID和URL发送PATCH请求即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:45:30