与特斯拉嵌套查询参数

问题描述 投票:-1回答:1

这是我要点击的网址:

/example/?fields=*&filter[platform][eq]=111&order=date:asc&filter[date][gt]=1500619813000&expand=yes

我的代码:

  get("/release_dates",
      query: [
        fields: "*",
        order: "date:desc",
        expand: "games",
        filter: %{
          date: %{gt: unix_now},
          version_parent: %{not_exists: 1}
        }
      ]
    )

我正在尝试执行具有那些filter[date][gt]=123123123123类型查询参数的特斯拉GET请求。

感谢帮助!

get elixir query-parameters tesla
1个回答
0
投票

如果我理解正确,您希望生成一个带有“大于”时间戳的过滤器的URI,这些时间戳是可变的。

根据您的初始示例,这可以这样做:

Tesla.get("/example/",
  fields: "*",
    filter: [
    platform: [
      eq: 111
    ]
  ],
  order: "date:asc",
  filter: [
    date: [
      gt: unix_now
    ]
  ],
  expand: "yes"
)

请注意,/example是相对引用,只能使用基URI进行解析。更好地提供完整的URI。

如果要在iex控制台中试验URI生成器,可以在项目目录中使用iex -S mix,然后使用以下函数:

Tesla.build_url("/example/",
  fields: "*",
  filter: [
    platform: [
      eq: 111
    ]
  ],
  order: "date:asc",
  filter: [
    date: [
      gt: 123123123123
    ]
  ],
  expand: "yes"
) |> URI.decode()
© www.soinside.com 2019 - 2024. All rights reserved.