Skip to content
This repository has been archived by the owner on Aug 3, 2020. It is now read-only.

ProductController: PUT

Philipp Heim edited this page Jun 4, 2020 · 2 revisions

Für einen PUT-Request übergibt man der API eine schon vorhandenes Produkt mit den Änderungen.

Beispiel für das ändern eines Produkts (PUT: /api/product):

Response eines GET-Requests:

[
  {
    "id": 1,
    "name": "Yokohama Advan Sport V103",
    "price": 188.55,
    "sku": "110132751",
    "createdAt": "2020-05-12T21:32:43",
    "properties": [
      {
        "id": 1,
        "name": "Größe",
        "value": "205/50 R17"
      }
    ],
    "categories": [
      {
        "id": 1,
        "name": "Reifen"
      }
    ],
    "productsAtLocations": [
      {
        "locationId": 1,
        "productId": 1,
        "quantity": 149
      }
    ]
  }
]

Nun möchten wir z.B. den Bestand ändern.
Der Bestand wird in dem productsAtLocations-Property verwaltet, indem ein Produkt einem Standort mit einer Anzahl zugewiesen ist. Wir nehmen an, dass wir 25 neue Produkt erhalten haben und möchten diese dem Standort hinzufügen. Hierfür passen wir die quantity von 149 zu 174 an.

Payload des PUT-Requests:

[
  {
    "id": 1,
    "name": "Yokohama Advan Sport V103",
    "price": 188.55,
    "sku": "110132751",
    "createdAt": "2020-05-12T21:32:43",
    "properties": [
      {
        "id": 1,
        "name": "Größe",
        "value": "205/50 R17"
      }
    ],
    "categories": [
      {
        "id": 1,
        "name": "Reifen"
      }
    ],
    "productsAtLocations": [
      {
        "locationId": 1,
        "productId": 1,
        "quantity": 174
      }
    ]
  }
]

Bei erfolgreichem Request sendet der Server folgenden Response:

HTTP: 204 No Content