ACSD-51846: Interner Fehler als REST API Payload-Level werden nicht validiert

Der Patch ACSD-51846 behebt das Problem, bei dem ein "Interner Fehler"auftritt, da nicht alle Ebenen der REST API-Payload validiert werden. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.36 installiert ist. Die Patch-ID ist ACSD-51846. Beachten Sie, dass das Problem in Adobe Commerce 2.4.7 behoben wurde.

Betroffene Produkte und Versionen

Der Patch wird für die Adobe Commerce-Version erstellt:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.5-p2

Kompatibel mit Adobe Commerce-Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.3-p2 - 2.4.5-p4
NOTE
Der Patch kann für andere Versionen mit neuen Quality Patches Tool -Versionen gelten. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das Paket magento/quality-patches auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Suchen nach Patches. Verwenden Sie die Patch-ID als Suchschlüsselwort, um den Patch zu finden.

Problem

Ein "Interner Fehler"tritt auf, da nicht alle Ebenen von REST API Payload validiert werden.

Zu reproduzierende Schritte:

  1. Fügen Sie dem Warenkorb des Kunden ein Produkt hinzu.
  2. Senden Sie die REST API -Anfrage an rest/V1/carts/mine/estimate-shipping-methods mit einem falschen Attribut "street"." mit einem Punkt am Ende.
 {
    "address": {
         "street.": [
             "\uc11c\uc6b8 \uac15\ubd81\uad6c \ud55c\ucc9c\ub85c166\uae38 2 (-\uc11c\uc6b8 \uac15\ubd81\uad6c \uc218\uc720\ub3d9 269-36)"
         ],
         "city": "pune",
         "region": null,
         "country_id": "IN",
         "postcode": "411015",
         "customer_id": "2",
         "firstname": "test",
         "lastname": "test",
         "middlename": null,
         "prefix": null,
         "suffix": null,
         "vat_id": null,
         "company": null,
         "telephone": "00000000000",
         "fax": null,
         "custom_attributes": []
     }
 }

Erwartete Ergebnisse:

Der Endpunkt sollte den Parameter validieren und die 400 status code mit einer bestimmten Fehlermeldung zurückgeben. Beispiel:

report.CRITICAL: LogicException: Property "Street." does not have accessor method "getStreet." in class "Magento\Quote\Api\Data\AddressInterface". in vendor/magento/framework/Reflection/NameFinder.php:103

Tatsächliche Ergebnisse:

Der Endpunkt validiert den falschen Parameter nicht und gibt den Fehler 500 status code zurück.

Wenden Sie den Patch an

Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:

Verwandtes Lesen

Weitere Informationen zu Quality Patches Tool finden Sie unter:

Weitere Informationen zu anderen in QPT verfügbaren Patches finden Sie unter Quality Patches Tool: Suchen nach Patches im Quality Patches Tool -Handbuch.

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3