如何创建返回 API 响应的方法

问题描述 投票:0回答:2

我使用restsharp作为HTTP客户端,我不知道如何使API响应能够作为特定模型返回,或者它可以作为字符串或类似的东西返回,我知道我正在使用异步/等待,但是如何才能正确地满足我的要求

  //my api model
     class ApiModel
    {
        public string Content { get; set; }
    }


      // api call
       public static async Task ApiCall()
        {
            
            var client = new RestClient("https://google.com/");
            var request = new RestRequest("api/get_something", Method.Get);
            var response = await client.GetAsync(request);
            // i want to return like this 
            var customRes = new ApiModel();
            customRes.Content = response.Content;
            return customRes;

        }
c# .net http restsharp
2个回答
0
投票

你必须反序列化响应

public static async Task<ActionResult<ApiModel>> ApiCall()
{
 .... your code
  var response = await client.GetAsync(request);
if (response.IsSuccessStatusCode)
    {
        var json =  response.Content;
        var result = JsonConvert.DeserializeObject<ApiModel>(json);
        return  Ok(result)

         //or you have to post API model, I can only guess
       
        return Ok( new ApiModel { Content= ... I dont know what});

    }    
          
   return BadRequest();
}

0
投票
  public static async Task<ApiModel> ApiCall(){

var client = new RestClient("https://google.com/");
var request = new RestRequest("api/get_something", Method.Get);
var result = client.Execute<ApiModel>(request).Data;
return result ;
}
© www.soinside.com 2019 - 2024. All rights reserved.