Я использую API-интерфейс Nightingale для изучения Django rest_framework.
Я попробовал URL ниже,
(запрос POST) http://127.0.0.1: 8000 / api / v1 / rooms
, но с ошибкой 500.
Когда я пытался это сделать,
(запрос POST) http://127.0.0.1 : 8000 / api / v1 / rooms /
это сработало. (200)
Я думал, что эта проблема из-за APPEND_SLASH
. Согласно документации Django, когда перенаправление происходит на APPEND_SLASH=True
, данные, отправленные в запросе POST, теряются. Сервер не получает никаких данных, поэтому он получает 500 ошибок.
APPEND_SLA SH По умолчанию: True
Если задано значение True, если URL-адрес запроса не соответствует ни одному из шаблонов в URLconf и не заканчивается на sla sh, перенаправление HTTP отправляется на тот же URL с добавлением sla sh. Обратите внимание, что перенаправление может привести к потере любых данных, отправленных в запросе POST.
Параметр APPEND_SLA SH используется только в том случае, если установлен CommonMiddleware (см. Middleware). См. Также PREPEND_WWW.
https://docs.djangoproject.com/en/3.0/ref/settings/#append -sla sh
Но URL без sla sh работал на chrome, так что Кажется, это не имеет значения. Могу ли я узнать больше о том, как APPEND_SLASH
работает в django -rest-framework или Nightingale API-клиенте?