From 8549db7c706fb5078f44754748ec6ee72610fc2c Mon Sep 17 00:00:00 2001 From: Bojan Mudric <14099136+bmudric@users.noreply.github.com> Date: Sun, 5 Jul 2020 16:42:52 +0200 Subject: [PATCH] use json type response instead of string --- .../com/jazavac/relaysim/RelayResponse.java | 18 ++++++++++++++++++ .../jazavac/relaysim/RelaySimApplication.java | 1 - .../controller/RandomStatusController.java | 10 +++++----- .../controller/RelayApiController.java | 14 +++++++------- 4 files changed, 30 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/jazavac/relaysim/RelayResponse.java diff --git a/src/main/java/com/jazavac/relaysim/RelayResponse.java b/src/main/java/com/jazavac/relaysim/RelayResponse.java new file mode 100644 index 0000000..716911d --- /dev/null +++ b/src/main/java/com/jazavac/relaysim/RelayResponse.java @@ -0,0 +1,18 @@ +package com.jazavac.relaysim; + +public class RelayResponse { + + private boolean relayIsOn; + + public RelayResponse(boolean relayIsOn) { + this.relayIsOn = relayIsOn; + } + + public boolean isRelayIsOn() { + return relayIsOn; + } + + public void setRelayIsOn(boolean relayIsOn) { + this.relayIsOn = relayIsOn; + } +} diff --git a/src/main/java/com/jazavac/relaysim/RelaySimApplication.java b/src/main/java/com/jazavac/relaysim/RelaySimApplication.java index 80ab615..9840bfc 100644 --- a/src/main/java/com/jazavac/relaysim/RelaySimApplication.java +++ b/src/main/java/com/jazavac/relaysim/RelaySimApplication.java @@ -6,7 +6,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Slf4j @SpringBootApplication diff --git a/src/main/java/com/jazavac/relaysim/controller/RandomStatusController.java b/src/main/java/com/jazavac/relaysim/controller/RandomStatusController.java index 6f61703..d09c4df 100644 --- a/src/main/java/com/jazavac/relaysim/controller/RandomStatusController.java +++ b/src/main/java/com/jazavac/relaysim/controller/RandomStatusController.java @@ -1,21 +1,21 @@ package com.jazavac.relaysim.controller; -import javax.servlet.http.HttpServletResponse; +import com.jazavac.relaysim.RelayResponse; import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** This class is used to simulate getting a status of a relay that turns on and off every second */ @RestController +@CrossOrigin @Slf4j public class RandomStatusController { @GetMapping("/randomstatus") - public String returnStatus(HttpServletResponse response) { + public RelayResponse returnStatus() { log.debug("Client requesting GET /randomstatus"); - response.addHeader("Access-Control-Allow-Origin", "*"); - response.addHeader("Content-Type", "application/json"); - return String.format("{\"relayIsOn\":%b}", generateStatus()); + return new RelayResponse(generateStatus()); } private boolean generateStatus() { diff --git a/src/main/java/com/jazavac/relaysim/controller/RelayApiController.java b/src/main/java/com/jazavac/relaysim/controller/RelayApiController.java index 2f0e967..3495c20 100644 --- a/src/main/java/com/jazavac/relaysim/controller/RelayApiController.java +++ b/src/main/java/com/jazavac/relaysim/controller/RelayApiController.java @@ -1,7 +1,7 @@ package com.jazavac.relaysim.controller; +import com.jazavac.relaysim.RelayResponse; import java.util.concurrent.atomic.AtomicBoolean; -import javax.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; @@ -19,22 +19,22 @@ public class RelayApiController { private AtomicBoolean relayIsOn = new AtomicBoolean(false); @GetMapping("/status") - public String returnStatus(HttpServletResponse response) { + public RelayResponse returnStatus() { log.debug("Client requesting GET /status"); - return String.format("{\"relayIsOn\":%b}", relayIsOn.get()); + return new RelayResponse(relayIsOn.get()); } @PostMapping("/on") - public String handleOn(HttpServletResponse response) { + public RelayResponse handleOn() { log.debug("Client requesting POST /on"); relayIsOn.set(true); - return returnStatus(response); + return returnStatus(); } @PostMapping("/off") - public String handleOff(HttpServletResponse response) { + public RelayResponse handleOff() { log.debug("Client requesting POST /off"); relayIsOn.set(false); - return returnStatus(response); + return returnStatus(); } }