我是Spring Boot的新手,正在尝试其他事情。
我有一个类,其中一个方法可以进行简单的计算,接受两个数字并给出加法运算。现在我想将这些数字以json格式通过api传递并返回数字的加法运算。
我们可以在@POSTMapping
中传递变量并返回结果吗?
控制器类
@RestController
@RequestMapping(value="/TC")
public class CountSpringAppController {
@Autowired
private CountService countService;
@PostMapping(value="/add/{number1}/{number2}")
public int getCount(@PathVariable int num1,@PathVariable int num2) {
return countService.count(num1, num2);
}`
服务等级
@Service
public class CountService {
public int count(int num1, int num2) {
return num1+num2;
}
}
输入
{
"num1":1,
"num2":1
}
输出
2
答案 0 :(得分:2)
制作一个将接受json的Num类
Class Num{
int num1;
int num2;
//getter setter
}
现在使用该类从json主体获取数据
@RequestMapping(value="/add",method = RequestMethod.POST, consumes="application/json", produces = "application/json")
public int getCount(@RequestBody Num request) {
return countService.count(request.getNum1(),request.getNum2());
}`
答案 1 :(得分:0)
您可以执行以下操作。这样可以避免需要其他数据类:
@PostMapping(value="/add")
public int getCount(@RequestBody Map<String, Integer> data) {
return countService.count(data.get("number1"), data.get("number2"));
}