Как использовать словарь в качестве параметра с методом GET в веб-API? - PullRequest
0 голосов
/ 16 ноября 2018

Вот URL, который я пробовал до сих пор:

{{url}}/api/items?created[gte]=1&created[lte]=1

И это метод GET:

[HttpGet]
[Route("api/items")]
public IHttpActionResult GetItems([FromUri]Dictionary<string, int> created)
{
    var message = created["gte"];
    return Ok(""+message);
}

Я не могу получить доступ к данным из параметра запроса.

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете обновить метод следующим образом:

[HttpGet("api/items")]
public IActionResult GetItems(Dictionary<string, int> created)
{
    return Ok(created);
}

[HttpGet] также поддерживает Route.

В URL:

https://localhost:44392/api/items?created.key1=1&created.key2=2&created.key3=3

И результат на странице:

{"key1":1,"key2":2,"key3":3}

Синтаксис: created.key1=1

  • created: для этого требуется имя, совпадающее с именем параметра, которое мы ввели в метод.

  • created.key1: мы создаем новый ключ в этом словаре, и имя ключа - key1.

  • created.key1=1: мы определяем значение ключа. Это значение 1.

  • &created.key2=2: мы продолжаем добавлять новый словарь в словарь с ключом key2 и значением 2

... то же самое для &created.key3=3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...