На фронте работал метод $.ajax() и было все хорошо. Переписал на .fetch() и контроллер перестал видеть переменные. На фронте отправляю запрос так:
let data = new FormData();
data.append('myVar', 'test');
fetch('${pageContext.request.contextPath}/page', {
method: 'POST',
body: data
})
.then(function(response) { return response.json(); })
.then(function(json) {/* some acts*/});
Обрабатываю запрос так:
@RequestMapping(value = "/page", method = RequestMethod.POST)
protected ResponseEntity myMethod(
@RequestParam(value = "myVar") String str
) {
/*Some acts*/
}
в str приходит null. Куда копать?
Проблема в том, что @RequestParam ловит переменные из application/x-www-form-urlencoded. А FormData multipart/form-data. Переписал отправку на фронте:
fetch('${pageContext.request.contextPath}/page', {
method: 'POST',
headers: {'Content-Type':'application/x-www-form-urlencoded'},
body: `myVar=myVal`
})
и полетело
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости