Как я могу передать данные Json в метод Post, используя весеннюю загрузку?Я хочу передать несколько переменных и использовать эти переменные в другом классе Java - PullRequest
0 голосов
/ 08 февраля 2019

Я очень новичок в Spring Boot и пробую разные вещи.

У меня есть класс, в котором метод выполняет простые вычисления, принимает два числа и дает сложение. Теперь я хочу передать числа через APIв формате json и возвращает добавление числа.

Можем ли мы передать переменные в @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класс

 @Service
        public class CountService {

    public int count(int num1, int num2) {
        return num1+num2;
    }

}

вход

{
"num1":1,
"num2":1
}

выход

2

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Вы можете сделать, как показано ниже.Это предотвращает необходимость в дополнительном классе данных:

@PostMapping(value="/add") 
public int getCount(@RequestBody Map<String, Integer> data) {

    return countService.count(data.get("number1"), data.get("number2"));

}
0 голосов
/ 08 февраля 2019

Создайте класс Num, который будет принимать json

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

    }`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...