POST запрос в Postman возвращает ошибку 404, как исправить?
Я новичок в JS и решил разобраться с Rest API. C GET все получилось легко. Были проблемы с поиском ресурса для создания своей БД и возможностью ее дальнейшего редактирования (т.к. на сайте хотел реализовать что-то наподобие комментариев под записями, а эти комментарии соответственно необходимо хранить в простенькой БД). Выбор ресурса для создания БД в формате JSON пал на https://jsonbin.io/. При изучении темы натолкнулся на программу под названием Postman, вроде бы со всем разобрался, получилось сделать GET, PUT и DELETE запросы к БД. Но этого недостаточно, для реализации моего функционала на сайте мне нужен POST, который почему-то возвращает 404 при том что URL и данные авторизации указываю те же что и при остальных запросах. Вот пример POST запроса из Postman в виде кода JS:
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); myHeaders.append("X-MASTER-KEY", "$2a$10$DS.TxhmcSF1J40qEl6Hkn..pVkSqKezEm2H/eXGZpBu8lbWG6S1O."); var raw = JSON.stringify({ "id": 19, "first_name": "Sabrina", "last_name": "Blowfield", "email": "sblowfield0@chronoengine.com", "gender": "Female", "ip_address": "166.66.81.75", }); var requestOptions = { method: 'POST', headers: myHeaders, body: raw, redirect: 'follow' }; fetch("https://api.jsonbin.io/v3/b/657c3ec91f5677401f0e2af2", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error)); |
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); myHeaders.append("X-MASTER-KEY", "$2a$10$DS.TxhmcSF1J40qEl6Hkn..pVkSqKezEm2H/eXGZpBu8lbWG6S1O."); var raw = JSON.stringify({ "id": 19, "first_name": "Sabrina", "last_name": "Blowfield", "email": "sblowfield0@chronoengine.com", "gender": "Female", "ip_address": "166.66.81.75", }); var requestOptions = { method: 'POST', headers: myHeaders, body: raw, redirect: 'follow' }; fetch("https://api.jsonbin.io/v3/b/657c3ec91f5677401f0e2af2", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
После этого вижу ошибку 404.
1. Прошу помочь разобраться с данной проблемой или подсказать ресурс где я мог бы углубиться в работу с POST запросами, информации как с ними работать я сам найти не смог как бы ни пытался.
2. Подскажите где новичку frontend-разработчику можно создать бесплатную простенькую БД в формате JSON (хочу реализовать свои проекты для портфолио и не уверен что https://jsonbin.io/ лучший выбор).
Заранее спасибо всем откликнувшимся !
Дополнительно:
2. Для чего вам создавать бд в формате json? Чем обычная не угодила?
т.к. на сайте хотел реализовать что-то наподобие комментариев под записями, а эти комментарии соответственно необходимо хранить в простенькой БД
Сможете помочь ему предоставить хороший пример работы с комментариями к каждой записи, вероятнее всего еще и хранение записей, возможно, с сортировкой, в формате json? Мне это напоминает файловую/текстовую БД, где управление данными вызывает небольшое жжение сзади. Но если операций особо никаких нет, то возможно это действительно не плохой вариант
Управление данными то в этом случае надо для демонстрации либо тестирования (ну да, ручками написать пару сущностей придется либо создать через интерфейс).
где новичку frontend-разработчику можно создать бесплатную простенькую БД в формате JSON
Rapid API, например.
Т.к. занимался я без наставников, а только лишь курсы для самообучения, то не могу оценить со стороны достаточность своих знаний для работы на должности frontend-разработчика. Не знаю насколько необходимо именно работать с БД, на моем уровне разработки, как вы говорите создать полноценную и использовать ее. Не будет ли это на данный момент излишним для меня на Ваш взгляд ? И вообще на сколько необходимо умение создавать собственные БД фронтенду на должность Стажера или Джуниора ? Информации очень много и впитать ее всю перед устройством на работу как мне кажется невозможно, но и краснеть на собеседовании тоже не хотелось бы.
на Ваш более опытный взгляд, необходимы ли новичку на должности фронтенда навыки создания полноценной БД а так же умение реализовать не только GET, но и различные запросы кроме него ?
на "мой более опытный взгляд" правильного ответа на данный вопрос не вижу. Да, фронтенд должен разбираться в серверной части, но насколько глубоко - зависит от его целей и обязанностей. В маленькой компании скорее всего пригодится. Касательно запросов - в фронтенд приложениях, работающих с REST API пригодятся почти все или все методы запросов. Они отличаются друг от друга по смыслу, а с точки зрения отправки запроса особо разницы нет. Вы можете почитать об этом самостоятельно.
Я могу быть не прав, но у вас ошибка в урле, судя по документации
Должно быть так:
fetch("https://api.jsonbin.io/v3/b", requestOptions) |
fetch("https://api.jsonbin.io/v3/b", requestOptions)
В вашем урле после /b идёт хэш-id, это понятно для get/delete/put/patch запросов (вам же надо указать, с какой сущностью вы что-то хотите сделать), но post создаёт новую сущность, у вас не может быть никакого id, пока она не создана
А вообще, читайте текст ошибки, помимо кода 404 :)
- Спасибо Егор за уделенное время, действительно сработало. Впредь буду внимательнее при прочтении документации и более тщательно просматривать ошибки. Все же я только разбираюсь в REST API и к сожалению не до конца могу понимать на что необходимо в первую очередь обратить внимание.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для исправления ошибки 404 при отправке POST запроса через Postman, следует убедиться, что вы правильно настроили параметры запроса и указали правильный URL адрес.
Во-первых, убедитесь, что вы выбрали метод POST в выпадающем списке рядом с URL адресом в Postman. Затем укажите корректный URL адрес, к которому вы хотите отправить запрос. Проверьте, что вы используете правильный порт и путь к ресурсу.
Также обратите внимание на заголовки запроса. Убедитесь, что вы правильно настроили заголовки Content-Type и Accept. Например, для отправки данных в формате JSON, установите заголовок Content-Type: application/json.
Если вы отправляете данные в теле запроса, убедитесь, что вы правильно структурировали данные и передали их в нужном формате. Например, для отправки данных в формате JSON, укажите тело запроса в виде JSON объекта.
Если после всех этих шагов ошибка 404 все еще возникает, проверьте правильность URL адреса, возможно, вы отправляете запрос по неверному пути. Также убедитесь, что сервер, к которому вы обращаетесь, доступен и работает корректно.
Если ничего из вышеперечисленного не помогло, попробуйте обратиться к администратору сервера или разработчику API, к которому вы обращаетесь, чтобы уточнить правильный способ отправки POST запроса.