我让{@ 1}}陷入困境,决定使用Maru作为RESTful框架。我浏览了docs并用Google搜索了一天,但找不到任何关于如何解析查询参数的文档或示例。
我想要这样的东西
elixir
我想解析上面的网址并使用查询参数http://localhost:8080/app/rest/system/users?variable1=value1&variable2=value2
和variable1
填充地图。 Maru是否支持这种操作?
答案 0 :(得分:4)
我在Maru的源代码中找不到任何功能,但由于Maru在内部使用plug
包并允许完全访问自定义插件管道,您可以插入Plug.Conn.fetch_query_params
和然后使用conn.params
:
defmodule MyApp do
use Maru.Router
plug :fetch_query_params
get do
json(conn, conn.params)
end
end
$ curl 'http://127.0.0.1:8800/?foo=bar&baz\[\]=quux'
{"foo":"bar","baz":["quux"]}
答案 1 :(得分:0)
大多数情况下,此代码有很多帮助,您可以获得所有path
url
和body
参数。
插头做得很好,所以我们不应该再做了。
defmodule MyApp do
use Maru.Router
plug Plug.Parsers,
pass: ["*/*"],
json_decoder: Poison,
parsers: [:urlencoded, :json, :multipart]
get do
json(conn, conn.params)
end
end