我使用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;
}
你必须反序列化响应
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();
}
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 ;
}