为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
墨色风雨 2021-12-25 18:33:46
我将此控制器用于 .net 核心  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 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

如果 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))


查看完整回答
反对 回复 2021-12-25
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信