Request():delete()
Menjalankan permintaan DELETE dan mengembalikan objek Response. Metode ini digunakan untuk menghapus sumber daya dari server.
Tanda Tangan
delete(): Response
Mengembalikan
Response - Objek respons yang berisi respons server
Deskripsi
Metode delete() mengirimkan permintaan HTTP DELETE ke URL yang ditentukan saat membuat objek Request. Permintaan DELETE biasanya digunakan untuk menghapus sumber daya yang ada dari server, seperti menghapus pengguna, posting, atau entitas data lainnya.
Contoh
Permintaan DELETE Dasar
-- Delete a user with ID 123
local response = Request("https://api.example.com/users/123"):delete()
Permintaan DELETE dengan Autentikasi
-- Delete a post with authorization
local response = Request("https://api.example.com/posts/456")
:setHeader("Authorization", "Bearer your-token-here")
:setHeader("Accept", "application/json")
:delete()
Memproses Respons DELETE
-- Delete a comment and handle the response
local response = Request("https://api.example.com/comments/789")
:setHeader("Authorization", "Bearer your-token-here")
:delete()
local data = response:getData()
local statusCode = response:getResponseCode()
if statusCode == 204 then
print("Comment deleted successfully! (No content)")
elseif statusCode == 200 then
print("Comment deleted successfully!")
print("Response: " .. data)
else
print("Failed to delete comment. Status: " .. statusCode)
end
DELETE dengan Header Tambahan
-- Delete a resource with custom headers
local response = Request("https://api.example.com/files/document.pdf")
:setHeader("Authorization", "Bearer token123")
:setHeader("X-Delete-Reason", "User requested deletion")
:setHeader("Accept", "application/json")
:delete()
local status = response:getResponseCode()
if status == 200 or status == 204 then
print("File deleted successfully")
else
print("Delete failed with status: " .. status)
end
Hapus Bersyarat
-- Delete only if resource hasn't been modified
local response = Request("https://api.example.com/data/123")
:setHeader("If-Match", "etag-value-here")
:setHeader("Authorization", "Bearer token")
:delete()
local status = response:getResponseCode()
if status == 412 then
print("Delete failed: Resource has been modified")
elseif status == 200 or status == 204 then
print("Resource deleted successfully")
end
Catatan
- Permintaan DELETE biasanya tidak memiliki body permintaan
- Operasi DELETE yang berhasil biasanya mengembalikan:
200 OKdengan body respons yang menjelaskan penghapusan202 Acceptedjika penghapusan diproses secara asinkron204 No Contentjika penghapusan berhasil tanpa body respons
- Metode mengembalikan objek Response yang dapat Anda gunakan untuk mengakses data respons dan kode status
- Selalu periksa kode status respons untuk memastikan permintaan berhasil
- Permintaan DELETE bersifat idempoten - melakukan permintaan yang sama berkali-kali seharusnya memberikan efek yang sama (sumber daya dihapus)
- Berhati-hatilah saat menggunakan permintaan DELETE karena akan menghapus data secara permanen