Ich implementiere 'PATCH' auf der Serverseite für partielle Aktualisierungen meiner Ressourcen.
Unter der Annahme, dass nicht mein SQL-Datenbankschema in JSON-Anforderungen / -Antworten verfügbar macht, dh es gibt eine separate Zuordnung zwischen Schlüsseln in JSON und Spalten einer Tabelle, wie finde ich am besten heraus, welche Spalte ( s) um in JSON einer partiellen Aktualisierung in SQL zu aktualisieren?
Angenommen, meine Tabelle hat 3 Spalten: col_a
, col_b
und col_c
, und die Zuordnung zwischen JSON-Schlüsseln zu Tabellenspalten lautet: a -> col_a, b -> col_b, c -> col_c
. Gegeben JSON-PATCH
data:
Was ist der beste Weg, diese partielle Aktualisierung programmatisch auf col_b
der Tabelle anzuwenden, die meiner Ressource entspricht?
Natürlich kann ich diese Mappings in einem keys_to_columns
dict irgendwo fest codieren, und bei jeder Anfrage mit patch_data
kann ich so etwas tun:
Verwenden Sie dann mapped_updates
, um die SQL-Anweisung für die DB-Aktualisierung zu erstellen. Wenn das obige ein KeyError
wirft, weiß ich, dass die Anfragedaten ungültig sind und sie wegwerfen können. Und ich muss dies für jede Tabelle / Ressource tun, die ich habe.
Ich frage mich, ob es einen besseren Weg gibt.
Dies ähnelt dem, was Sie vorhaben, aber statt Karten zu erstellen, können Sie stattdessen Klassen für jede Tabelle erstellen. Zum Beispiel:
%Vor%Dies ist nur etwas Grundlegendes, um davon inspiriert zu werden, diese Klassen können erweitert werden, um noch viel mehr zu tun.
Tags und Links python api json rest http-patch