From 3ecf3e5b5fac9a9eb19be50514c10f3387f23779 Mon Sep 17 00:00:00 2001 From: Joshua Sigona Date: Tue, 21 Jul 2020 01:51:25 +0900 Subject: [PATCH] Implement /math/calculate and /math/sum endpoints. --- .../java/com/example/demo/Controller.java | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/demo/Controller.java b/src/main/java/com/example/demo/Controller.java index 0f4a7c7..c19ba87 100644 --- a/src/main/java/com/example/demo/Controller.java +++ b/src/main/java/com/example/demo/Controller.java @@ -1,6 +1,7 @@ package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -14,6 +15,7 @@ import java.net.URL; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; import java.util.HashMap; +import java.util.Map; import javax.imageio.ImageIO; @@ -41,6 +43,37 @@ public class Controller { } } + @GetMapping("/math/calculate") + public String piDisplay(@RequestParam(value="operation",required=false) String operation, + @RequestParam(value="x") String x, + @RequestParam(value="y") String y) { + int val1=Integer.parseInt(x); + int val2=Integer.parseInt(y); + switch (operation) { + case "subtract":{ + return Integer.toString(val1-val2); + } + case "multiply":{ + return Integer.toString(val1*val2); + } + case "divide":{ + return Integer.toString(val1/val2); + } + default:{ + return Integer.toString(val1+val2); + } + } + } + + @PostMapping("/math/sum") + public String sumDisplay(@RequestParam Map keys) { + int sum = 0; + for (String i : keys.keySet()) { + sum += Integer.parseInt(keys.get(i)); + } + return Integer.toString(sum); + } + @GetMapping("/math/pi") public String piDisplay() { return Double.toString(Math.PI); @@ -56,5 +89,4 @@ public class Controller { } return null; } - } \ No newline at end of file