Вложенные параметры запроса с помощью Tesla - PullRequest
0 голосов
/ 18 января 2019

Это URL, на который я пытаюсь попасть:

/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}
        }
      ]
    )

Я пытаюсь выполнить GET-запрос Tesla, который имеет эти filter[date][gt]=123123123123 параметры запроса типа.

Ценю помощь!

1 Ответ

0 голосов
/ 24 января 2019

Если я правильно вас понимаю, вы хотите сгенерировать URI с фильтром для временных меток «больше чем», которые являются переменными.

Согласно вашему первоначальному примеру, это можно сделать так:

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

Обратите внимание, что /example является относительной ссылкой и может быть разрешена только с помощью базового URI. Лучше предоставить полный URI.

Если вы хотите поэкспериментировать с генератором URI на консоли iex, вы можете использовать iex -S mix в каталоге вашего проекта, а затем использовать следующие функции:

Tesla.build_url("/example/",
  fields: "*",
  filter: [
    platform: [
      eq: 111
    ]
  ],
  order: "date:asc",
  filter: [
    date: [
      gt: 123123123123
    ]
  ],
  expand: "yes"
) |> URI.decode()
...