使用 REST API 在 magento 2.1 上更新股票 - 错误 {"message": "Request does not match any route."}

Updating stock on magento 2.1 using REST API - Error {"message": "Request does not match any route."}

我正在尝试使用 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 更新,这是必需的我真的希望情况并非如此,因为 host/web 开发人员不是很容易接近!

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

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

我不太清楚如何在 visual basic 中更改方法,但我相信这不会太难。