在spring boot中用post请求写四则混合运算代码
时间: 2024-09-18 22:06:18 浏览: 49
在Spring Boot中,处理POST请求并实现四则混合运算的一个简单示例通常会涉及Web控制器、接收JSON数据和解析请求,然后利用Java的算术运算符进行计算。这里我们假设你已经设置了`@RestController`和`@PostMapping`注解。
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class CalculatorController {
@PostMapping("/calculate")
public String calculate(@RequestBody String expression) {
try {
// 将接收到的字符串解析成表达式,例如 "2 + 3 * 4"
double[] values = expression.split(" ").stream().mapToDouble(Double::parseDouble).toArray();
// 分离操作数和运算符
double num1 = values[0];
double num2 = values[2]; // 注意这里的索引是根据表达式的结构确定的,这里默认有三个空格隔开
char operator = expression.charAt(1); // 获取第一个字符作为运算符
switch (operator) {
case '+':
return String.valueOf(num1 + num2);
case '-':
return String.valueOf(num1 - num2);
case '*':
return String.valueOf(num1 * num2);
case '/':
if (num2 != 0) {
return String.valueOf(num1 / num2);
} else {
throw new IllegalArgumentException("Division by zero is not allowed");
}
default:
throw new IllegalArgumentException("Invalid operator");
}
} catch (NumberFormatException e) {
return "Invalid input format";
}
}
}
```
在这个例子中,用户通过POST请求向`/calculate`端点发送一个包含两个数字和一个运算符的字符串,如`"2 + 3 * 4"`。服务端将解析这个字符串,进行相应的运算,并返回结果。
阅读全文