Web API несколько значений

ASP.NET
  1. 3 года назад
    Добавлено 3 года назад Alexandr_Erohin

    Алекс привет! Спасибо! Разобрался вроде с веб апи.
    Но у меня еще вопрос - как передать несколько значений? Вот стандартный метод GET

    public string Get(int id)
    {
                return "ok";
    }

    Ну и обращаюсь так api/values/3
    А как помимо id передат еще строку?

  2. Alexandr_Erohin

    Jun 1 Администратор
    public string Get(int id, string str)
    {
         return "ok";
    }

    GET-запрос: api/values/3?str=Строка

    Рекомендую все таки создавать POST-запросы для обращения к веб-службам.

  3. Спасибо!
    Дело в том что игра не поддерживает POST запрос.

  4. Найти это сообщение Alexandr_Erohin public string Get(int id, string str) { return "ok"; }

    GET-запрос: api/values/3?str=Строка

    Не катит, пишет что На контроллере "stats" не удалось найти действие, соответствующее запросу.

  5. Alexandr_Erohin

    Jun 2 Администратор

    Не морочь голову, как контроллер values связан с контроллером stats?

    api/values/3?str=Строка
    api/stats/3?str=Строка

    Если запрос будет отправлен контроллеру, в котором определен метод Get(int id, string str) все будет работать как надо.

  6. Да вот и нет.. не пашет:
    public class statsController : ApiController { public string Get(string nickname, int value) { return "ok" + nickname + value.ToString(); }
    /api/stats/1?value=2 - не пашет)

  7. Alexandr_Erohin

    Jun 2 Администратор
    Добавлено 3 года назад Alexandr_Erohin

    public string Get(string nickname, int value)

    У тебя в каждом посте новая структура метода, от структуры метода зависит структура запроса к Web API. Параметр id указан в маршрутизации по умолчанию, поэтому его можно явно не указывать в запросе. Как Web API должен распознать 1 в твоем запросе? Для этого метода нужен запрос /api/stats/?value=2&nickname=zbc

или зарегистрируйтесь чтобы ответить