Sto redigendo uno schema JSON per un'API. Una delle risposte mira a mostrare tutti gli aggiornamenti alle diverse proprietà di una determinata entità. Il numero di aggiornamenti può variare da una risposta all'altra. Ad esempio, può essere che i valori di property_a
e property_d
cambino in una risposta e quelli di property_a
, property_b
e property_c
nel successivo.
Voglio progettare uno schema che sia al contempo amichevole con l'interpretazione umana e l'esecuzione programmatica.
Un esempio concreto di tale entità può essere la prenotazione di un appuntamento. Ogni appuntamento può consistere in un luogo, una data, un'ora e un elenco di partecipanti e tutti possono cambiare dopo la creazione di un appuntamento. Ora vogliamo avere un endpoint API che restituisca qualsiasi aggiornamento a un appuntamento esistente. La risposta contiene solo le proprietà aggiornate.
Fin qui ho trovato qualcosa di simile:
{
"event": "update",
"appointment_id": 123,
"updated_properties": ["place", "time"],
"place": "some new location",
"time": "some new time"
}
In sostanza, questo schema indica quali proprietà sono aggiornate e restituisce semplicemente queste proprietà solo con i loro nuovi valori.
È un design sensato? Qualsiasi schema alternativo per miglioramenti?