Задать вопрос
AgeofCreations
@AgeofCreations
Python, AsyncIO, AMQP

Как исправить 400 Bad Request при POST-запросе к DRF от React?

Пилю авторизацию для приложения. React + Django Rest Framework.
На стороне django это rest_auth.
На стороне React - запрос через axios.

При прямом переходе в localhost:8000/rest_auth/login/ всё работает нормально, ввожу данные в форму, возвращается токен.

При попытке авторизации из React возвращается 400 Bad Request. Не могу понять в чём дело, всё выглядит живым и рабочим.

Вот функция React, которая выполняет запрос:

export const authLogin = (username, password) => {
    return dispatch => {
        dispatch(authStart());
        axios.post('http://127.0.0.1:8000/rest-auth/login/', {
            username: username,
            password: password
        })
        .then(res => {
            const token = res.data.key;
            const expirationDate = new Date(new Date().getTime() + 3600 * 1000);
            localStorage.setItem('token', token);
            localStorage.setItem('expirationDate', expirationDate);
            dispatch(authSuccess(token));
            dispatch(checkAuthTimeout(3600));
        })
        .catch(err => {
            dispatch(authFail(err))
        })
    }
}


При попытке отправить запрос Postman'ом, возвращает ту же 400 с телом:
{
    "password": [
        "This field is required."
    ]
}


В Chrome Devtools в Response показывает:
{"non_field_errors":["Must include \"username\" and \"password\"."]}
  • Вопрос задан
  • 2420 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Возможно, проблема с типом контента. В первом случае отправляете "application/x-www-form-urlencoded", во втором "application/json"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы