不要calculateExpression方法
时间: 2024-09-27 11:18:04 浏览: 27
如果你不想在API端直接计算表达式,而是希望客户端自行处理,那么你可以将解析和计算逻辑移出API。在这种情况下,API可以保持简单,只接收和返回字符串。例如,你可以设计API接收一个已解析好的表达式结构,而不是原始字符串:
```java
public class Pra {
private ExpressionTree expression; // 假设ExpressionTree是一个表示解析后的表达式结构的类
// getter 和 setter 省略...
public void setExpression(ExpressionTree expression) {
this.expression = expression;
}
}
public class ExpressionsController {
@PostMapping("/calculate")
public ResponseEntity<String> calculate(@RequestBody Pra pra) {
if (pra.getExpression() != null) {
// 客户端负责解析和计算
double result = pr ExpressionTree.calculate(pra.getExpression());
return ResponseEntity.ok(String.valueOf(result));
} else {
return ResponseEntity.badRequest().body("Please provide a parsed expression");
}
}
}
```
在这里,`ExpressionTree` 类应该提供一个静态方法 `calculate()` 来执行计算。客户端需先解析输入的 `expression`,将其转换成 `ExpressionTree` 对象,然后再发起POST请求到 `/calculate`。
阅读全文