【发布时间】:2020-02-13 14:13:44
【问题描述】:
我想在 OpenShift API 中发出 PATCH 请求。 为了方便起见,我们认为我们在 OpenShift API 中看到了这一点:
内容可以是这样的:
{
"limits":{
"cpu":"10m"
},
"requests":{
"memory":"1G"
}
}
或者这个:
{
"limits":{
"cpu":"30m",
"memory":"2G"
},
"requests":{
"memory":"5G"
}
}
或者...,你明白我的意思;) Json 中的键可以是也可以不是。
所以现在,我想知道如何制作补丁,而不必知道过去是什么,因为代码只会接收新值,无论是否为空。
我希望清楚:) 我在 Maven 中使用 JDK 13 和 Spring
谢谢
【问题讨论】:
-
我认为这与春天没有任何关系。这取决于您使用什么来跟踪相关资源。如果您使用的是数据库,则可以读出旧版本,仅更新给定 JSON 中包含的字段,然后将其提交回来。如果您使用的是
Map,则在从中检索旧实例后执行相同操作。等等。 -
我不知道以前有什么,我只有新的值到 json 中
-
对,但是你想用这些值做什么......大概用它们更新一些现有资源,在这种情况下我的上述答案仍然有效。
-
我知道我会怎么做,我会让一个新的 http 进入 api 以了解那里有什么,然后我将能够识别什么是新的 :)
-
我从未尝试过,但我认为最新版本的 Openshift API 支持 json-patch,因此您可能甚至不需要知道现有参数,只需发送新参数 { "op": "替换", ... },
标签: java json openshift http-patch