Как искать в значении Api Content с помощью .net core controller - PullRequest
0 голосов
/ 31 августа 2018

Я использовал этот контроллер для .net core

  string url = "Url Here";
        private string customerApi;
        private object JsonRequestBehavior;

        [HttpGet]
        [Route("Getagent")]
        public async Task<ActionResult> Getagent(string search)
        {

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(url);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                HttpResponseMessage response = await client.GetAsync(customerApi);
                if (response.IsSuccessStatusCode)
                {
                    string jsondata = await response.Content.ReadAsStringAsync();
                    return Content(jsondata, "application/json");
                }


                return Ok();

            }
        }

выводит значения в виде массива >> как я могу найти в этом массиве контроллер Api Web Api

1 Ответ

0 голосов
/ 03 сентября 2018

Если служба customerApi не принимает строки поиска и вы хотите выполнить поиск локально, вам нужно создать модель, которая представляет данные json. Например, вы получаете этот JSON из сервиса:

{
  "name": "John Smith",
  "id": 1,
  "age": 20,
  "tags": [
     "person", "male", "etc"
  ]
}

Вы должны создать объектную модель, подобную этой:

public class ServiceResponseModel {
  public string Name {get;set;}
  public int Id {get;set;}
  public int Age {get;set;}
  public string[] Tags {get;set;}
}

Затем вы можете преобразовать JSON в массив этих объектов:

  string jsondata = await response.Content.ReadAsStringAsync();
  var responseObject=Newtonsoft.Json.JsonConvert.DeserializeObject(jsondata);

Если вы получили объект, вы можете искать по его свойствам:

  var filteredResponseObject = responseObject.Where(x=>x.Name.Contains(search))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...