From 41404db83aff2c91064ed09497b34a08dc54c778 Mon Sep 17 00:00:00 2001 From: Tibor Tarnai Date: Tue, 10 Dec 2019 16:47:33 +0100 Subject: [PATCH 1/3] add create device --- .../controller/DeviceController.java | 24 ++++++++++--------- .../tamagotchi/model/CreateDevicePayload.java | 15 ++++++++++++ 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java index 9173ca3..adf43d5 100644 --- a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java +++ b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java @@ -1,20 +1,21 @@ package com.sap.tamagotchi.controller; -import java.util.Collection; -import java.util.concurrent.atomic.AtomicLong; - +import com.sap.tamagotchi.model.CreateDevicePayload; +import com.sap.tamagotchi.model.Device; +import com.sap.tamagotchi.service.TamagotchiService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.sap.tamagotchi.model.Device; -import com.sap.tamagotchi.service.TamagotchiService; +import java.util.Collection; + +import static org.springframework.http.ResponseEntity.ok; @RestController public class DeviceController { - private static final String template = "Hello !!!!!, %s!"; - private final AtomicLong counter = new AtomicLong(); private final TamagotchiService tamagotchiService; @Autowired @@ -31,8 +32,9 @@ public class DeviceController { public Collection getDevices() { return tamagotchiService.getDevices(); } - // TODO postmapping create - // request payload - // owner String - // color + + @PostMapping + public ResponseEntity createDevice(CreateDevicePayload payload) { + return ok(tamagotchiService.createDevice(new Device(payload.getOwner(), payload.getColor()))).build(); + } } diff --git a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/CreateDevicePayload.java b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/CreateDevicePayload.java index 3c891d3..fa9c81f 100644 --- a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/CreateDevicePayload.java +++ b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/model/CreateDevicePayload.java @@ -1,4 +1,19 @@ package com.sap.tamagotchi.model; public class CreateDevicePayload { + private final String owner; + private final Color color; + + public CreateDevicePayload(String owner, Color color) { + this.owner = owner; + this.color = color; + } + + public String getOwner() { + return owner; + } + + public Color getColor() { + return color; + } } From 69dae0673aeedb24d50cfde174d87508da086059 Mon Sep 17 00:00:00 2001 From: Tibor Tarnai Date: Tue, 10 Dec 2019 16:47:53 +0100 Subject: [PATCH 2/3] add create device --- .../com/sap/tamagotchi/controller/DeviceController.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java index adf43d5..5115a29 100644 --- a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java +++ b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java @@ -6,6 +6,7 @@ import com.sap.tamagotchi.service.TamagotchiService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -23,18 +24,18 @@ public class DeviceController { this.tamagotchiService = tamagotchiService; } - @RequestMapping("devices/{deviceId}") + @RequestMapping("/devices/{deviceId}") public Device getDevice(String deviceId) { return tamagotchiService.getDevice(deviceId); } - @RequestMapping("devices") + @RequestMapping("/devices") public Collection getDevices() { return tamagotchiService.getDevices(); } - @PostMapping - public ResponseEntity createDevice(CreateDevicePayload payload) { + @PostMapping("/devices") + public ResponseEntity createDevice(@RequestBody CreateDevicePayload payload) { return ok(tamagotchiService.createDevice(new Device(payload.getOwner(), payload.getColor()))).build(); } } From c4b831d930405fac0142beb8eb71459608984308 Mon Sep 17 00:00:00 2001 From: Tibor Tarnai Date: Tue, 10 Dec 2019 16:48:23 +0100 Subject: [PATCH 3/3] add create device --- .../java/com/sap/tamagotchi/controller/DeviceController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java index 5115a29..30596e9 100644 --- a/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java +++ b/src/tamagotchi-service/src/main/java/com/sap/tamagotchi/controller/DeviceController.java @@ -36,6 +36,6 @@ public class DeviceController { @PostMapping("/devices") public ResponseEntity createDevice(@RequestBody CreateDevicePayload payload) { - return ok(tamagotchiService.createDevice(new Device(payload.getOwner(), payload.getColor()))).build(); + return ok(tamagotchiService.createDevice(new Device(payload.getOwner(), payload.getColor()))); } }