Как рассчитать сумму переменных из данных JSON? - PullRequest
0 голосов
/ 25 октября 2019

Я написал проект, в котором строка возвращается наоборот.

@PostMapping("/reverse")
public String reverseList(@RequestBody String string) {
    List<String> stringList = Arrays.asList(string.split("[+,]"));
    return  IntStream.range(0, stringList.size())
            .mapToObj(i -> stringList.get(stringList.size() - 1 - i))
            .collect(Collectors.joining("+"));
}

Команда через curl:

curl -H "Content-Type: application/json" -d "a1+a2+a3+a4" localhost:8080/hello/reverse

Вывод:

a4+a3+a2+a1

Как я могу изменить, чтобы я мог добавить значения. Например, при возврате

а1 = 10
а2 = 10
a3 = 10

И когда я напишу следующую команду:

curl -H "Content-Type: application/json" -d "a1+a2+a3" localhost:8080/hello/reverse

Она должна вернуть сумму как 30.

1 Ответ

0 голосов
/ 25 октября 2019

Попробуйте сделать это. Это облегчит вашу работу.

Отправьте a1=10+a2=10+a3=10 вместо a1+a2+a3 в команде curl.

Команда:

curl -H "Content-Type: application/json" -d "a1=10+a2=10+a3=10" localhost:8080/hello/reverse

Обновите код так:

@PostMapping("/reverse")
public String reverseList(@RequestBody String str) {
    int sum = 0;
    String[] variables = str.split("\\+");
    for (String variable : variables) {
        sum += Integer.parseInt(variable.split("=")[1]);
    }
    return String.valueOf(sum); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...