ACSD-51846: errore interno perché i livelli di payload REST API non sono convalidati

La patch ACSD-51846 risolve il problema relativo a un "Errore interno", in quanto non tutti i livelli del payload REST API sono convalidati. Questa patch è disponibile quando è installato Quality Patches Tool (QPT) 1.1.36. L’ID della patch è ACSD-51846. Il problema è stato risolto in Adobe Commerce 2.4.7.

Prodotti e versioni interessati

La patch è stata creata per la versione di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.5-p2

Compatibile con le versioni di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.3-p2 - 2.4.5-p4
NOTE
La patch potrebbe diventare applicabile ad altre versioni con le nuove versioni di Quality Patches Tool. Per verificare se la patch è compatibile con la versione di Adobe Commerce in uso, aggiornare il pacchetto magento/quality-patches alla versione più recente e verificare la compatibilità nella pagina Quality Patches Tool: Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.

Problema

Si è verificato un "errore interno" poiché tutti i livelli del payload REST API non sono convalidati.

Passaggi da riprodurre:

  1. Aggiungi un prodotto al carrello del cliente.
  2. Invia la richiesta REST API a rest/V1/carts/mine/estimate-shipping-methods utilizzando un attributo "street non corretto." con un punto alla fine.
 {
    "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": []
     }
 }

Risultati previsti:

L'endpoint deve convalidare il parametro e restituire 400 status code con un messaggio di errore specifico. Esempio:

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

Risultati effettivi:

L'endpoint non convalida il parametro errato e restituisce l'errore 500 status code.

Applicare la patch

Per applicare singole patch, utilizzare i collegamenti seguenti, a seconda del metodo di distribuzione utilizzato:

Lettura correlata

Per ulteriori informazioni su Quality Patches Tool, vedere:

Per informazioni sulle altre patch disponibili in QPT, fare riferimento a Quality Patches Tool: Cercare le patch nella guida di Quality Patches Tool.

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