Web-API kann Anfragen mit mehr als 20 Elementen im Array nicht verarbeiten
Dieser Artikel bietet eine Lösung für das Problem, dass die Web-API eine Nachricht, die mehr als 20 Elemente im Array für Adobe Commerce 2.4.3 enthält, nicht verarbeiten kann.
Betroffene Produkte und Versionen:
- Adobe Commerce (alle Bereitstellungsmethoden) 2.4.3 und 2.3.7-p1
- Magento Open Source 2.4.3 und 2.3.7-p1
Problem
Die Web-API kann die Meldung (z. B. "Stock Update"), die mehr als 20 Elemente im Array enthält, nicht verarbeiten.
Ursache
In Adobe Commerce 2.4.3 wurde die integrierte Ratenbegrenzung zu Magento-APIs hinzugefügt, um DoS-Angriffe (Denial-of-Service) zu verhindern.
Standardmäßig ist die folgende integrierte API-Ratenbegrenzung verfügbar:
- REST-Anfragen, die Eingaben enthalten, die eine Liste von Entitäten darstellen, sind auf eine Standardanzahl von 20 Entitäten beschränkt
- REST- und GraphQL-Abfragen, die paginierte Ergebnisse ermöglichen, sind auf eine Standardgrenze von 300 Elementen pro Seite beschränkt
Lösung
Um die Eingabegrenzen für die REST-API-Anfrage zu deaktivieren, wenden Sie einen der folgenden Patches an (je nach Version):
Kompatible Adobe Commerce-Versionen
Die Patches wurden für Folgendes erstellt:
- Adobe Commerce auf Cloud-Infrastruktur 2.4.3 und 2.3.7-p1
- Adobe Commerce vor Ort 2.4.3 und 2.3.7-p1
Die Patches sind nicht mit anderen Adobe Commerce-Versionen kompatibel.
Anwenden des Pflasters
Entpacken Sie die heruntergeladene .zip
-Datei und wenden Sie den Patch wie unter Anwenden eines von Adobe bereitgestellten Composer-Patches beschrieben an.
wie in unserer Entwicklerdokumentation beschrieben: API-Sicherheit > Ratenbegrenzung > Maximale Parametereingaben.
Verwandtes Lesen
API-Sicherheit > Ratenbegrenzung in unserer Entwicklerdokumentation.