首页 > 解决方案 > 如何使用 Spring Boot 在 Post 方法中传递 Json 数据?我想传递一些变量并在不同的 java 类中使用这些变量

问题描述

我对 Spring Boot 很陌生,并尝试了不同的东西。

我有一个类,其中一个方法进行简单计算,接受两个数字并给出加法。现在我想通过 api 以 json 格式传递数字并返回数字的加法。

我们可以在 a 中传递变量@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

标签: javarestspring-bootspring-mvc

解决方案


创建一个将接受 json 的 Num 类

 Class Num{
        int num1;
        int num2;
        //getter setter
    }

现在使用该类从 json body 获取数据

  @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());

    }`

推荐阅读