Saya mencoba mengirim DELETE
permintaan dengan parameter url menggunakan CURL. Saya lakukan:
curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3'
Namun, server tidak melihat parameter id = 3. Saya mencoba menggunakan beberapa aplikasi GUI dan ketika saya melewatkan url sebagai:, http://localhost:5000/locations?id=3
ia berfungsi. Saya lebih suka menggunakan CURL daripada aplikasi GUI ini. Adakah yang bisa menunjukkan apa yang saya lakukan salah?
GET
. Saya inginDELETE
dan tidakGET
dan saya mencoba mengikuti standar desain REST yang tepat jadi saya menggunakan DELETE dan bukan GET saat menghapus.Felipsmartins benar.
Perlu disebutkan bahwa itu karena Anda tidak dapat benar-benar menggunakan opsi data -d / - jika ini bukan permintaan POST. Tapi ini masih mungkin jika Anda menggunakan opsi -G.
Yang berarti Anda dapat melakukan ini:
Ini sedikit konyol tetapi ketika Anda berada di baris perintah dan Anda memiliki banyak parameter, ini jauh lebih rapi.
Saya mengatakan ini karena perintah CURL biasanya cukup panjang, sehingga layak untuk membuatnya lebih dari satu baris lolos dari jeda baris.
Ini jelas jauh lebih nyaman jika Anda menggunakan zsh. Maksud saya ketika Anda perlu mengedit kembali perintah sebelumnya karena zsh memungkinkan Anda melakukan baris per baris. (hanya mengatakan)
Semoga ini bisa membantu.
sumber
--data-urlencode
menambahkan data ke URL tanpa pengecualian tetapi sekarang Anda harus menggabungkannya dengan--get
untuk membuatnya benar-benar berfungsi.