使用 REST API 更新 magento 2.1 上的库存 - 错误 {"message": "请求与任何路由都不匹配。"}

问题描述 投票:0回答:1

我正在尝试使用 REST API 在 magento 2.1 网站上更新库存商品数量。

我正在 VB.net 中编码,但收到错误 JSON 响应 {"message": "Request does not match any route."}

            Dim Access_Token = "XXXXXXXXXXXXX"

            Try

                Dim VATWebClient = New WebClient()
                VATWebClient.Headers(HttpRequestHeader.Accept) = "application/json"
                VATWebClient.Headers(HttpRequestHeader.ContentType) = "application/json"
                VATWebClient.Headers(HttpRequestHeader.Authorization) = "Authorization Bearer " & Access_Token
                Dim Response As String

                Response = VATWebClient.UploadString("http://www.xxxxxx.com/rest/V1/products/xxxx/stockItems/1", "{""stockItem"":{""qty"":100}}")


            Catch webEx As WebException
                Dim errorMessage As String = webEx.Message
                Dim errorStack As String = webEx.StackTrace

            End Try

我还尝试设置 SoapUI 只是为了测试以确保我调用它是正确的,但我得到了相同的错误。

我在某处读到,

webapi.xml
必须使用所需的API进行更新,我真的希望情况并非如此,因为主机/网络开发人员不太容易访问!

vb.net magento2 soapui magento-rest-api
1个回答
0
投票

UploadString 将创建一个 POST 请求,正如您从 API 文档中看到的,此 API 端点仅是 PUT 方法。

https://devdocs.magento.com/swagger/index_21.html#!/catalogInventoryStockRegistryV1/catalogInventoryStockRegistryV1UpdateStockItemBySkuPut

我不太清楚如何更改 Visual Basic 中的方法,但我确信这不是太难。

© www.soinside.com 2019 - 2024. All rights reserved.