我想在openshift api中做一个补丁请求。为了更简单,我们考虑在openshift api中看到:
内容可以是:
{
"limits":{
"cpu":"10m"
},
"requests":{
"memory":"1G"
}
}
或者这个:
{
"limits":{
"cpu":"30m",
"memory":"2G"
},
"requests":{
"memory":"5G"
}
}
或者……,你明白我的意思;)json中的键可以是也不能是。
所以现在,我想知道如何制作一个补丁,而不必知道过去是什么,因为代码只会接收新的值,不管是否为空。
我希望澄清:)我使用jdk13和spring与maven
谢谢
2条答案
按热度按时间rta7y2nd1#
答案是:通过对包含旧日期的api创建get方法来获取旧数据。然后,我就可以知道补丁的变化了!:)
mepcadol2#
最合适的解决方案似乎是将您的请求作为json补丁请求。格式化文档:http://jsonpatch.com/
在我的示例中,我正在更新deploymentconfig的“image”属性,但这应该适用于其他类型的对象。请注意,每个请求可以发出多个修补程序命令,每个修补程序命令只需要知道组成要更改的路径的属性。
我的请求设置:配置文档
请求:patch/api/apps.openshift.io/v1/namespaces/$namespace/deploymentconfigs/$name
身份:无记名$代币
标题:
内容类型:application/json patch+json
接受:application/json
连接:关闭
正文: