没有内容的 Shopware 产品 API 响应和错误 204(无内容)错误

Shopware Product API response with no content and error 204 (No Content) Error

因此,在尝试使用 Shopware 6 API 尝试测试如何使用尽可能少的数据创建产品时,我收到状态 204(无内容)响应,响应为空。
当我再次按下“发送”时,我收到状态 400 错误消息:

{
    "errors": [{
        "status": "400",
        "code": "CONTENT__DUPLICATE_PRODUCT_NUMBER",
        "title": "Bad Request",
        "detail": "Product with number \u002212345667891\u0022 already exists.",
        "meta": {
            "parameters": {
                "number": "12345667891"
            }
        }
    }]
}

当我检查 Shopware 后端并搜索产品时,我没有得到任何结果。 当我尝试搜索 MySQL 产品表时,我也没有得到任何结果。

我正在使用这个网站:https://reqbin.com/
我通过 POST 请求调用 URL: https://www.my-url.de/api/product
作为授权,我使用从 getToken GET-Request 中获取的不记名令牌。
我的请求内容如下所示:

{
  "name": "Aarons Testartikel of Doom",
  "taxId": "f68a9c3c86864c2ea7597062fc457cf7",
  "price": 3,
  "productNumber": "12345667891",
  "stock": 5,
  "active": true
}

您在第一次请求时收到的 204 状态代码表示请求已成功处理。根据 HTTP 标准,所有 2xx 状态代码都可以视为成功。默认情况下,Shopware return 是一个 204 - No Content,对 API 上的所有写入请求的响应主体为空,但您可以向 POST 提供 _response 查询参数-Request 和 Shopware 将 return 200 响应,如果您发出 GET 请求以读取添加产品的数据,您将获得相同的数据。

在您的情况下,URL 将是 https://www.my-url.de/api/product?_response=1

第二次请求出错的原因是产品编号需要是唯一的,所以您不能添加具有相同产品编号的其他产品。在执行第二个请求之前更改产品编号应该会再次起作用。

错误也表明第一个写请求确实成功了,为了确保你的商店软件安装连接到你认为的数据库,你可以检查根文件夹中的.env文件在您的安装中,应该定义了一个 DATABASE_URL 变量。