首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用HTTPoison在Elixir中执行删除?

如何使用HTTPoison在Elixir中执行删除?
EN

Stack Overflow用户
提问于 2015-09-16 09:49:44
回答 1查看 1.1K关注 0票数 9

我想使用HTTPoison库在Elixir中执行下面的命令。

代码语言:javascript
复制
$ 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."}

当我检查文档如何在DELETE中使用HTTPoison

代码语言:javascript
复制
def delete!(url, headers \\ [], options \\ []),   do: request!(:delete, url, "", headers, options)

只需要urlheader。那么,我应该把请求体(curl中的json主体)放在哪里呢?

在长生不老药里,我试过

代码语言:javascript
复制
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])

但似乎不起作用。有人能告诉我怎么用正确的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-16 10:00:01

正如您已经确定的,HTTPoison.delete!/3将发送一个""作为post主体。在此之前,有一些关于删除请求的主体是否有效的问题-请参阅Is an entity body allowed for an HTTP DELETE request?

但是,您可以绕过这个函数直接调用request!/5

代码语言:javascript
复制
req_body = "{\"api_key\":\"#{api_key}\",\"delete_path\":\"#{delete_path}\",\"expired\":\"#{expired}\"}"

url = "https://cdn.idcfcloud.com/api/v0/caches"                                                                                           

response = HTTPoison.request!(:delete, url, req_body, header)

我回答了一个不同的问题,它提供了更多关于生成post体的信息-- Create Github Token using Elixir HTTPoison Library

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32605174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档