如何获取请求 HTTPPoison 发送查询字符串

Dav*_*uis 0 elixir httpoison

我需要通过传递查询字符串来进入 api,以防路由是:

api/v1/servers/#{server_name}/zones
Run Code Online (Sandbox Code Playgroud)

查询参数rrsets=false和代码:

HTTPoison.get!("api/v1/servers/#{server_name}/zones")
Run Code Online (Sandbox Code Playgroud)

如何使用查询字符串发送?

Ada*_*hip 5

您问题中的代码甚至无法编译 - 请下次更加努力地提供工作示例。

HTTPoison.get!/3接受 URL 作为其第一个参数,因此您只需提供查询字符串作为 URL 的一部分:

HTTPoison.get!("api/v1/servers/#{server_name}/zones?rrsets=false")
Run Code Online (Sandbox Code Playgroud)

如果您想使用动态查询字符串构建 URL,请参阅Idiom to Construction a URI with a query string in Elixir

"api/v1/servers/#{server_name}/zones"
|> URI.parse()
|> Map.put(:query, URI.encode_query(rrsets: false))
|> URI.to_string()
Run Code Online (Sandbox Code Playgroud)