Definition
RFC 7396 - un formato para expresar una secuencia de operaciones a aplicar a un documento JSON. Usa un objeto JSON para describir cambios; valores null eliminan campos, y valores no null reemplazan o agregan campos.
Example
Para actualizar el email de un usuario y eliminar su teléfono, envía: {“email”: “[email protected]”, “phone”: null}. El servidor combina esto con el recurso existente.
Analogía
Como editar un documento con control de cambios - proporcionas solo los campos que cambiaron, y null significa “eliminar este campo”.
Code Example
// Original resource
{
"name": "Alice",
"email": "[email protected]",
"phone": "+1234567890",
"age": 30
}
// JSON Merge Patch request
PATCH /users/123
Content-Type: application/merge-patch+json
{
"email": "[email protected]",
"phone": null
}
// Result after merge
{
"name": "Alice",
"email": "[email protected]",
"age": 30
}
// Implementation
function applyMergePatch(original, patch) {
const result = { ...original };
for (const [key, value] of Object.entries(patch)) {
if (value === null) {
delete result[key];
} else {
result[key] = value;
}
}
return result;
}
Standards & RFCs
Standards & RFCs