Приложение React не отправляет заголовки на сервер java - PullRequest
0 голосов
/ 20 марта 2020

Я много искал на Inte rnet, но не нашел ничего полезного для своей проблемы. У меня есть java сервер и клиент реакции. Мой сервер использует jwt для аутентификации и возвращает токен моему клиенту.

Когда я пытаюсь отправить данные методом post, мой клиент не отправляет заголовки, поэтому мой сервер возвращает сообщение «Unauthorized». Я попытался отправить тот же запрос от Почтальона и AR C (Advanced Rest Client), и он работает.

Вот мой код клиента:

fetch(url, {
            method: 'POST',
            crossDomain: true,
            mode: 'no-cors',
            body: JSON.stringify(data),
            headers: {
                'Authorization': 'Bearer ' + 'token generated from fiddler after running auth',
                'Accept': 'application/json',
                'Content-Type': 'application/json'
            }
        })
            .then(response => response.json())
            .then(responseJson => {
                console.log(responseJson);
            });

Я пытался использовать топор ios и у меня такая же проблема. Кроме того, мой сервер имеет аннотацию @CrossOrigin (origins = {"*"}) во всех классах контроллеров.

Я не знаю, связана ли моя проблема с клиентом или с сервером и почему работает с использованием Postman и AR C.

1 Ответ

0 голосов
/ 20 марта 2020

Вы используете mode: no-cors, который в основном удаляет все заголовки, которые не являются простыми заголовками: https://developer.mozilla.org/en-US/docs/Web/API/Request/mode

Вы должны включить CORS и разрешить свой домен на сервере.

...