C# 如何使用.net核心控制器搜索有价值的Api内容

C# 如何使用.net核心控制器搜索有价值的Api内容,c#,.net,api,controller,C#,.net,Api,Controller,我将此控制器用于.net core string url = "Url Here"; private string customerApi; private object JsonRequestBehavior; [HttpGet] [Route("Getagent")] public async Task<ActionResult> Getagent(string search)

我将此控制器用于.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();

            }
        }
string url=“url Here”;
私有字符串customerApi;
私有对象JsonRequestBehavior;
[HttpGet]
[路由(“Getagent”)]
公共异步任务Getagent(字符串搜索)
{
使用(var client=new HttpClient())
{
client.BaseAddress=新Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
HttpResponseMessage response=wait client.GetAsync(customerApi);
if(响应。IsSuccessStatusCode)
{
string jsondata=await response.Content.ReadAsStringAsync();
返回内容(jsondata,“应用程序/json”);
}
返回Ok();
}
}

以数组形式输出值>>如何通过Api控制器Web Api在该数组中搜索如果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))

对不起,你的问题一点也不清楚。