Я пытаюсь отправить 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, а не это приложение с графическим интерфейсом. Может кто-нибудь указать, что я делаю не так?
GET
. Я хочуDELETE
и нет,GET
и я пытаюсь следовать надлежащим стандартам дизайна REST, поэтому я использую DELETE, а не GET при удалении.Фелипсмартинс это правильно.
Стоит отметить, что это потому, что вы не можете использовать опцию -d / - data, если это не POST-запрос. Но это все еще возможно, если вы используете опцию -G.
Что означает, что вы можете сделать это:
Здесь это немного глупо, но когда вы находитесь в командной строке и у вас много параметров, это намного аккуратнее.
Я говорю это потому, что команды cURL обычно довольно длинные, поэтому стоит делать это более чем на одной строке, избегая разрывов строк.
Это, очевидно, намного удобнее, если вы используете zsh. Я имею в виду, когда вам нужно отредактировать предыдущую команду, потому что zsh позволяет вам переходить строка за строкой. (просто говорю)
Надеюсь, поможет.
источник
--data-urlencode
что данные добавляются в URL без каких-либо исключений, но теперь вам нужно объединить их с--get
тем, чтобы они действительно работали.