Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk2 min

.NET 10: JSON Patch-Werte mit der Test-Operation prüfen

Die neue System.Text.Json-basierte JSON-Patch-Implementierung in .NET 10 unterstützt test, um einen Wert vor einer Änderung zu prüfen. Fehlschläge und Objektänderungen müssen im Anwendungscode berücksichtigt werden.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Mit .NET 10 kann die neue ASP.NET-Core-JSON-Patch-Implementierung auf Basis von System.Text.Json die test-Operation verwenden, um einen Wert an einem JSON-Pfad zu prüfen. Stimmt der aktuelle Wert nicht mit dem übermittelten Wert überein, schlägt der gesamte PATCH-Aufruf fehl. Dafür benötigen Sie das NuGet-Paket Microsoft.AspNetCore.JsonPatch.SystemTextJson.

Was die JSON-Patch-Operation test macht

test vergleicht den Wert an einem angegebenen Pfad mit dem Wert im Patch-Dokument. Ein einzelner Vorgang sieht beispielsweise so aus:

As an Amazon Associate I earn from qualifying purchases.

{ "op": "test", "path": "/FirstName", "value": "Jane" }

Der Vorgang prüft also, ob die Eigenschaft FirstName den Wert Jane enthält. Er ändert die Eigenschaft nicht selbst. Microsoft beschreibt diese Funktion als Prüfung, ob ein angegebener Wert der Zieleigenschaft entspricht: JSON Patch in ASP.NET Core.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Eine Bedingung vor einer Änderung einsetzen

Ein Patch-Dokument kann die Prüfung vor einer Änderungsoperation ausführen. Dieses Beispiel erwartet zunächst den Namen Nancy und setzt ihn anschließend auf Barry:

[
  { "op": "test", "path": "/customerName", "value": "Nancy" },
  { "op": "add", "path": "/customerName", "value": "Barry" }
]

Ist der aktuelle Wert von customerName nicht Nancy, scheitert die Testbedingung; der PATCH-Aufruf schlägt fehl. Microsoft nennt das Verhindern eines Updates bei einem Concurrency-Konflikt als typischen Anwendungsfall. test liefert dabei eine Vergleichsbedingung im Patch-Dokument, ist laut Dokumentation aber kein vollständiger Ersatz für ein umfassenderes Concurrency-Konzept.

Was bei einem fehlgeschlagenen Test zu beachten ist

Ein fehlgeschlagener Vorgang bedeutet nicht automatisch, dass Änderungen am Zielobjekt rückgängig gemacht werden. ApplyTo verändert das übergebene Objekt direkt; die Anwendung ist dafür verantwortlich, Änderungen zu verwerfen oder anderweitig abzusichern, wenn ein Vorgang fehlschlägt. Behandeln Sie das Ergebnis daher nicht als atomare Transaktion: Verwenden Sie bei Bedarf eine geschützte Kopie oder eine eigene Transaktions- beziehungsweise Wiederherstellungsstrategie, bevor Sie Änderungen dauerhaft übernehmen.

Einbindung und typisierte API

Die System.Text.Json-basierte ASP.NET-Core-Implementierung ist neu in .NET 10 und wird über das Paket Microsoft.AspNetCore.JsonPatch.SystemTextJson eingebunden. Die .NET-10-API-Referenz führt für JsonPatchDocument<TModel> Test-Überladungen für Modelleigenschaften sowie für Werte am Ende oder an einer bestimmten Position einer Liste auf. Die Referenz ist für Microsoft.AspNetCore.JsonPatch v10.0.0 dokumentiert: JsonPatchDocument<TModel>.Test API.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Was sich gegenüber der älteren Implementierung unterscheidet

Die ältere ASP.NET-Core-Implementierung basiert auf Newtonsoft.Json. Die neue Variante nutzt System.Text.Json; Microsoft nennt für sie im Vergleich eine bessere Performance und einen geringeren Speicherverbrauch. Das ist Microsofts Vergleichsaussage, kein hier unabhängig gemessener Benchmark. Die neue Implementierung ist zudem kein vollständig kompatibler Drop-in-Ersatz: Dynamische Typen wie ExpandoObject werden nicht unterstützt. Prüfen Sie deshalb Serializer-Abhängigkeiten und verwendete Modelltypen, bevor Sie eine bestehende Anwendung umstellen. Siehe Microsofts JSON-Patch-Dokumentation und die .NET-10-Änderungen.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Sicherheitsgrenzen

JSON Patch bringt inhärente Sicherheitsrisiken mit sich. Microsoft überträgt den Entwicklern die Verantwortung zu prüfen, ob ein Patch-Dokument sicher auf das jeweilige Zielobjekt angewendet werden kann. Validieren und begrenzen Sie daher zulässige Pfade und Operationen passend zu Ihrer Anwendung, statt eingehende Patch-Dokumente ungeprüft auf interne Modelle anzuwenden. Die konkrete Prüfung hängt davon ab, welche Daten das API freigibt und welche Änderungen der jeweilige Nutzer vornehmen darf.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.