Читать книгу Spring Boot - Mark Heckler - Страница 38

PUT-ting

Оглавление

Ganz allgemein ausgedrückt werden PUT-Anforderungen verwendet, um vorhandene Ressourcen mit bekannten URIs zu aktualisieren.

Laut dem IETF-Dokument Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content (https://tools.ietf.org/html/rfc7231) sollen PUT-Anfragen die angegebene Ressource aktualisieren, falls sie vorhanden ist; sollte die Ressource noch nicht existieren, dann soll sie angelegt werden.

Der folgende Code arbeitet entsprechend der Spezifikation: Er sucht nach dem Kaffee mit dem angegebenen Identifikator und aktualisiert ihn, falls er ihn finden kann. Ist kein solcher Kaffee in der Liste enthalten, wird er erzeugt:

@PutMapping("/coffees/{id}")

Coffee putCoffee(@PathVariable String id, @RequestBody Coffee coffee) {

int coffeeIndex = -1;

for (Coffee c: coffees) {

if (c.getId().equals(id)) {

coffeeIndex = coffees.indexOf(c);

coffees.set(coffeeIndex, coffee);

}

}

return (coffeeIndex == -1) ? postCoffee(coffee) : coffee;

}

Spring Boot

Подняться наверх