在配置文件中,我有几个vars。
{
"key1": "aaa",
"key2": {"smallkey1": "bbb", "smallkey2": "ccc"}
}
我需要通过patch
请求(API义务)更新smallkey2
值。
const updateConfigVar = (finaltarget, newdata) => {
HTTP.call( 'PATCH', 'https://api.xxx.com/apps/', {
headers: {
"Content-Type": "application/json"
},
data: {
[finaltarget]: newdata,
}
})
}
如果我致电updateConfigVar('key2', 'ddd')
,我得到:
{
"key1": "aaa",
"key2": "ddd"
}
但是如何不是替换所有key2
对象,而仅替换key2
对象中的smallkey2
的值。
所以如何获得:
{
"key1": "aaa",
"key2": {"smallkey1": "bbb", "smallkey2": "ddd"}
}
但是如何不是替换所有键2对象,而仅替换key2对象内的smallKey2的值。
通常,如果我们使用HTTP补丁程序将更改传达给服务器
一组更改以称为"补丁文档"的格式表示。通过媒体类型确定。
您可能不想将application/json
用作媒体类型,因为JSON的处理规则并非特定于修补。一个更好的选择是使用application/json-patch+json
(由RFC 6902描述)或application/merge-patch+json
(由RFC 7386描述)。
这些都有自己的特定语义来描述对嵌套键的编辑。