Ответ 1
"application/x-www-form-urlencoded" header, почему? Попробуйте:
curl -X DELETE 'http://localhost:5000/locations?id=3'
или
curl -X GET 'http://localhost:5000/locations?id=3'
Я пытаюсь отправить запрос DELETE
с параметром url с помощью CURL. Я делаю:
curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3'
Однако сервер не видит параметр id = 3. Я попытался использовать какое-то приложение графического интерфейса, и когда я передаю URL как: http://localhost:5000/locations?id=3
, он работает. Я действительно предпочел бы использовать CURL, а не это приложение GUI. Может ли кто-нибудь указать, что я делаю неправильно?
"application/x-www-form-urlencoded" header, почему? Попробуйте:
curl -X DELETE 'http://localhost:5000/locations?id=3'
или
curl -X GET 'http://localhost:5000/locations?id=3'
Felipsmartins правильный.
Следует отметить, что это связано с тем, что вы не можете использовать параметр -d/- data, если это не запрос POST. Но это возможно, если вы используете опцию -G.
Это означает, что вы можете это сделать:
curl -X DELETE -G 'http://localhost:5000/locations' -d 'id=3'
Здесь это немного глупо, но когда вы находитесь в командной строке, и у вас много параметров, это намного сложнее.
Я говорю это, потому что команды cURL обычно довольно длинные, поэтому стоит сделать это на нескольких линиях, избегая разрывов строк.
curl -X DELETE -G \
'http://localhost:5000/locations' \
-d id=3 \
-d name=Mario \
-d surname=Bros
Это, очевидно, намного удобнее, если вы используете zsh. Я имею в виду, когда вам нужно перередактировать предыдущую команду, потому что zsh позволяет вам идти по строкам. (просто говоря)
Надеюсь, что это поможет.
Если ваш параметр является числом, вы также можете сделать это:
curl -X DELETE localhost:5000/locations/3
Где 3
'- ваш параметр.