Ich möchte den folgenden Befehl in Elixir mit HTTPoison-Bibliothek ausführen.Wie führe ich DELETE in Elixir mit HTTPoison durch?
$ curl -X DELETE -H "expired: 1442395800" -H "signature: ******************" -d '{"api_key":"***************","delete_path":"*******","expired":"****"}' https://cdn.idcfcloud.com/api/v0/caches
{"status":"success","messages":"We accept the cache deleted successfully."}
Wenn ich das Dokument überprüfen, wie HTTPoison
DELETE
in
def delete!(url, headers \\ [], options \\ []), do: request!(:delete, url, "", headers, options)
Es gibt nur url
und header
benötigt. Also, wo sollte ich die Anfrage Körper (die Json Körper in curl
)?
In Elixir, habe ich versucht,
req_body = "{\"api_key\":\"#{api_key}\",\"delete_path\":\"#{delete_path}\",\"expired\":\"#{expired}\"}"
url = "https://cdn.idcfcloud.com/api/v0/caches"
response = HTTPoison.delete!(url, header, [req_body])
Aber ist das nicht funktionieren scheint. Kann jemand bitte sagen, wie man es richtig macht?
vielen Dank, es hat funktioniert !!!! –
Ich möchte, dass das HTTPoison-Team diesen Anwendungsfall berücksichtigt ... Die Stripe-API akzeptiert beispielsweise bestimmte Flags in Löschanforderungen (wenn Sie beispielsweise ein Abonnement abbrechen, aber bis zum Ende des Abrechnungszeitraums aktiv bleiben möchten, setzen Sie ' at_period_end' zu "true"), also müssen Sie 'HTTPoison.request' mit dem Parameter': delete' verwenden, damit es funktioniert. –