[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
ACSD-67659:轉譯的錯誤訊息傳回 未定義 錯誤碼
ACSD-67659修補程式修正了使用轉譯的例外狀況訊息來對應GraphQL個請求的錯誤碼的問題,這會導致已知錯誤傳回 UNDEFINED 錯誤碼,而不是正確的錯誤碼。 安裝Quality Patches Tool (QPT) 1.1.70時,即可使用此修補程式。 修補程式ID為ACSD-67659。 請注意,此問題已排程在Adobe Commerce 2.4.9中修正。
受影響的產品和版本
已為Adobe Commerce版本建立修補程式:
- Adobe Commerce (所有部署方法) 2.4.8-p2
與Adobe Commerce版本相容:
- Adobe Commerce (所有部署方法) 2.4.8 - 2.4.8-p2
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將
magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。問題
轉譯的例外狀況訊息可用來對應GraphQL個要求的錯誤碼,導致已知錯誤傳回 UNDEFINED 錯誤碼,而非正確的錯誤碼。
要再現的步驟:
-
新增包含錯誤字串轉譯的檔案
app/i18n/Magento/de_DE/de_DE.csv,例如:code language-none "Could not find a cart with ID ""%masked_cart_id""","we have an UNDEFINED issue",module,Magento_QuoteGraphQl -
在[管理]面板中,移至 Stores > Settings > All Stores > Create Store View 以建立商店檢視。
-
將 Code 設為 test。
-
將
german語言指派給新建立的存放區檢視。 -
執行命令
setup:upgrade和setup:static-content:deploy -f。 -
使用標頭
Store:test執行下列GraphQL查詢:code language-none mutation { placeOrder(input: { cart_id: "test" }) { orderV2 { id number } } }
預期結果:
錯誤回應會傳回正確的錯誤代碼:
{
"errors": [
{
"message": "we have an UNDEFINED issue",
"locations": [
{
"line": 2,
"column": 2
}
],
"path": [
"placeOrder"
],
"extensions": {
"category": "graphql-input",
"error_code": "CART_NOT_FOUND"
}
}
],
"data": {
"placeOrder": null
}
}
實際結果:
傳回的error_code是 未定義:
{
"errors": [
{
"message": "Oh noo, we have an UNDEFINED issue, see!",
"locations": [
{
"line": 2,
"column": 2
}
],
"path": [
"placeOrder"
],
"extensions": {
"category": "graphql-input",
"error_code": "UNDEFINED"
}
}
],
"data": {
"placeOrder": null
}
}
套用修補程式
若要套用個別修補程式,請根據您的部署方法使用下列連結:
- Adobe Commerce或Magento Open Source內部部署: Quality Patches Tool 指南中的>使用狀況Quality Patches Tool。
- 雲端基礎結構上的Adobe Commerce:雲端基礎結構上的Commerce指南中的升級和修補程式>套用修補程式。
相關閱讀
若要進一步瞭解Quality Patches Tool,請參閱:
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3