Ошибка при отправке объекта js на мой весенний загрузочный контроллер?, - PullRequest
0 голосов
/ 21 марта 2019

У меня небольшая проблема, я должен написать много кода и объяснить, чтобы все могли понять, я сделаю это с фотографиями. У меня вообще проблема в том, что я получаю ошибку 400, которая является клиентомбоковая ошибка, я понял, что отправил неверный запрос, поэтому давайте начнем с написания некоторого кода.

У меня есть данные для отправки с использованием Redux Action и saga. Вот мой первый исключенный метод, который работает при щелчке по событию, всепока все в порядке:

addNote = () => {
    let noteAdded = this.state.noteWritten;

    let noteToPush = {
        contratId: "120120122",
        texte: noteAdded,
        dateAjout: "02/12/1994 19:54",
        login: "Someone"
    };

    this.props.addNoteContrat(40000, { texte: noteToPush.texte });
};

Как вы можете видеть, я посылаю Id с объектом (имеет текст внутри), используя метод addNoteContrat, мне пришлось отправить его таким образом, потому что моя работа с бэкэндом уже выполнена иработает нормально.мои импорта тоже в порядке.

У меня есть файл с именем actions, где я создаю свои действия:

export const addNoteContrat = (idContrat, note, success, error) =>
   createAction(NOTE_CONTRAT_ADD.POST_CALL, { idContrat, note, success, error });

Затем я буду наблюдать за своими действиями с помощью саги:

function* addNoteContrat({ idContrat, note, success, error }) {
   console.log("note :");
   console.log(note);

   console.log("idContrat : ");
   console.log(idContrat);
   const value = yield call(addContratNotes, idContrat, note);
   if (value.status === 200) {
       yield put(setNotesContrat(value.data));
       yield getNotesContrat({ idContrat, success, error });
       if (success) success();
   } else {
       yield put(errorNotesContrat(value.data));
       if (error) error();
}
} 

Я получаю ожидаемый результат, я получаю свой идентификатор и текст в консоли, как и ожидалось. Затем я наблюдаю:

export const watchContrat = function* watchContrat() {

      yield takeLatest(NOTE_CONTRAT_ADD.POST_CALL, addNoteContrat);

}

У меня есть папка с именем API, куда я отправляю свои данные на серверЯ использую экземпляр, который использует Axios, я имею в виду, вы увидите, а не

axios.get(url);

Я использую:

myInstance.get(url);

А вот мой метод выполняется, когда мое действие выполняется:

export const addContratNotes = (idContrat, note) => {
    console.log("note dans API :");
    console.log(note);

    console.log("idContrat dans API :");
    console.log(idContrat);

    const endpoint = template(CONTRAT_NOTE_ADD);
    return instance
        .post(endpoint({ note }))
        .then(values => values)
        .catch(err => err.response);
};

И здесь я снова получаю свои данные прямо в консоли, но я получаю ошибку 400 в моей консоли, что снова означает неправильный запрос, как я уже говорил, мой код Java работает нормально, используячванство.

и, наконец, URL, который я использую для отправки данных, находится в моем файле конечных точек:

export const CONTRAT_NOTE_ADD = `${CONTRAT_ENDPOINT}/<%= idContrat %>/note`;

Я отправляю Id в URL и объект в запросе Body ..

Мне действительно нужна помощь, потому что я застрял около двух дней, я могу предоставить любой необходимый код для этого.Любая помощь приветствуется.

...