По сути вопроса, достаточно пометить метод аннотацией
@ResponseBody чтобы возвращаемое значение трактовалось не как имя шаблона, а как ответ:
@PostMapping("/add2Cart")
@ResponseBody
void addToCart(@RequestBody String str, HttpServletRequest request) {
...
}
Судя по используемым вами терминам и предлогам, вы очень смутно представляете, что же на самом деле происходит. Во-первых, addToCart - не функция, а метод. Во-вторых, ajax-запрос передаёте
в него, а json возвращается из него. Следующий вопрос правильно звучит так: "Возможно ли обработать post-запрос без возвращения шаблона?"
Смысл вашего последнего вопроса я не понял. Чего конкретно вы хотите? Откуда нужно в метод передать объект java?