Я создал базовый бэкэнд, написанный на Swift, с использованием фреймворка Vapor. Я запускаю его локально на своей машине, поэтому к нему можно получить доступ по адресу http://localhost:8080
.
Для проекта, над которым я работаю, я также создаю интерфейс, который построен с использованием ReactJS и доступен по адресу http://localhost:3000
.
При вызове моего бэкэнда в Postman со следующей информацией запрос работает нормально, и пользователь создается в базе данных:
Метод
POST на пользователя
Заголовки
Content-Type: application / json Accept: application / json
Тело
{
email: "[email protected]
password: "12345"
}
Теперь, при вызове того же метода с тем же телом и заголовками из локального интерфейса, мой запрос немедленно завершается ошибкой без какого-либо ответа:
Когда я проверяю ответ, я вижу, что все тело и заголовки были отправлены правильно, но ответа не было.
Я немного погуглил и понял, что Postman (и аналогичные) ведут себя иначе, чем браузеры, и что я должен проверить, работает ли метод работает с OPTIONS
вместо POST
. Я снова вызвал этот метод: OPTIONS /user
, и он также потерпел неудачу в Postman:
Единственная разница в том, что в Postman я получаю ответ «Результат не найден», как вы можете видеть на снимке экрана.
Я подумал, что это может иметь какое-то отношение к localhost
в URL-адресе вызова API, поскольку интерфейс также работает на localhost. Поэтому я использовал ngrok для перенаправления моего порта 8080 (бэкэнд), а затем назвал URL-адрес *.ngrok.io
вместо localhost:8080
. Не повезло.
Я также пробовал использовать сетевой IP-адрес моей машины вместо localhost
. По-прежнему не повезло.
Что я могу с этим поделать?