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..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 @@ -1,20 +1,22 @@ 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.RequestBody; 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 @@ -22,17 +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(); } - // TODO postmapping create - // request payload - // owner String - // color + + @PostMapping("/devices") + public ResponseEntity createDevice(@RequestBody CreateDevicePayload payload) { + return ok(tamagotchiService.createDevice(new Device(payload.getOwner(), payload.getColor()))); + } } 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; + } }