Rest API Post с параметрами для получения результата поиска - PullRequest
0 голосов
/ 07 мая 2018

Я нахожусь в формах Xamarin и делаю остальные вызовы API, я новичок в этом. Я хочу отправить параметры поиска:

{ "busObIds": [
"8102508"], "searchText": "John"}

(это необработанный формат JSON) до конечной точки API:

var client = new RestClient("http://localhost/NameAPI/api/V1/getquicksearchresults");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer " + bearer);

У меня также есть Носитель авторизации, который мне нужно подать. Я спотыкаюсь об этом и не уверен, как это сделать правильно, поскольку мне было показано, как это сделать в Postman, но в настоящее время я не могу преобразовать это в свой проект в Visual Studio Xamarin Forms. Помогите пожалуйста, если можете.

  1. Так я правильно делаю?
  2. Нужно ли сериализовать мой JSON в классе модели?
  3. Я пишу или получаю? как говорится POST, но я не уверен, что я делаю правильно.
  4. Публиковать ли мои параметры в AddHeader?

В любом случае, спасибо заранее.

Обновление:

var _client = new RestClient("http://localhost/NameAPI/api/V1/getquicksearchresults");
            var request = new RestRequest(Method.POST);
            request.AddHeader("Accept", "application/json");
            request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
            request.AddHeader("Authorization", "Bearer " + bearer);
            request.AddParameter("busObIds", "8102508");
            request.AddParameter("searchText", "John");
            IRestResponse response = _client.Execute(request);
            var jsonData = response.Content;
            var jsonObj = JsonConvert.DeserializeObject<CiResponse>(jsonData);
            this.CiList = new ObservableCollection<CiItem>();
            if (null != jsonObj && jsonObj.Types != null && jsonObj.Types.Count > 0)
            {
                foreach (var item in jsonObj.Types)
                    this.CIList.Add(new CiItem
                    {
                        PublicId = item.PublicId,
                        SubTitle = item.SubTitle,
                        Text = item.Text,
                        Title = item.Title
                    });
            }

Во время работы у меня нет никаких признаков того, что это неправильно, но на экране не отображается вывод.

...