从 API 接收数据并将其分配给模型时出现问题
Problem receiving data from API and assigning it to model
我有一个异步调用 API 的方法,API returns 的数据结构与我要分配的模型相同。但是它从不加载对象。数据始终为空,但如果有来自 API 的响应并且它传送了数据,但没有将其分配给变量:"podcast"
这个方法的目的是传递数据给view。
(我在 Web 项目中使用 .Net core 5)
这是我的方法
public async Task<IActionResult> details(int id)
{
if (id != 0)
{
//Read Service for config Metas
PPodcast podcast = new PPodcast();
using (var httpClient = new HttpClient())
{
using (var response = await httpClient.GetAsync($"{_storageOption.devVirtualPath}{_endpoints.ObtenerPodcast}" + id))
{
string apiResponse = await response.Content.ReadAsStringAsync();
podcast = JsonConvert.DeserializeObject<PPodcast>(apiResponse);
}
}
ViewBag.idPodcast = id;
return View(podcast);
}
return View(null);
}
这是我的模型:
public class PPodcast
{
public int id { get; set; }
public int idSeccion { get; set; }
public string titulo { get; set; }
public string descripcion { get; set; }
public string contenido { get; set; }
public string embeb { get; set; }
public string imagenRef { get; set; }
public string tags { get; set; }
public string fecha_PE { get; set; }
public DateTime Fecha { get; set; }
public string Hora { get; set; }
public string urlPodcast { get; set; }
public string SeccionNombre { get; set; }
}
如果您的所有回复都具有相同的形状,最好创建一个包含您想要的 classes
的通用 class
示例:
public class Response<T>
{
public T Data { get; set; }
// additional items like errors and such
}
然后在你的解串器中你会这样使用它
podcast = JsonConvert.DeserializeObject<Response<PPodcast>>(apiResponse).Data;
我有一个异步调用 API 的方法,API returns 的数据结构与我要分配的模型相同。但是它从不加载对象。数据始终为空,但如果有来自 API 的响应并且它传送了数据,但没有将其分配给变量:"podcast"
这个方法的目的是传递数据给view。 (我在 Web 项目中使用 .Net core 5)
这是我的方法
public async Task<IActionResult> details(int id)
{
if (id != 0)
{
//Read Service for config Metas
PPodcast podcast = new PPodcast();
using (var httpClient = new HttpClient())
{
using (var response = await httpClient.GetAsync($"{_storageOption.devVirtualPath}{_endpoints.ObtenerPodcast}" + id))
{
string apiResponse = await response.Content.ReadAsStringAsync();
podcast = JsonConvert.DeserializeObject<PPodcast>(apiResponse);
}
}
ViewBag.idPodcast = id;
return View(podcast);
}
return View(null);
}
这是我的模型:
public class PPodcast
{
public int id { get; set; }
public int idSeccion { get; set; }
public string titulo { get; set; }
public string descripcion { get; set; }
public string contenido { get; set; }
public string embeb { get; set; }
public string imagenRef { get; set; }
public string tags { get; set; }
public string fecha_PE { get; set; }
public DateTime Fecha { get; set; }
public string Hora { get; set; }
public string urlPodcast { get; set; }
public string SeccionNombre { get; set; }
}
如果您的所有回复都具有相同的形状,最好创建一个包含您想要的 classes
的通用 class示例:
public class Response<T>
{
public T Data { get; set; }
// additional items like errors and such
}
然后在你的解串器中你会这样使用它
podcast = JsonConvert.DeserializeObject<Response<PPodcast>>(apiResponse).Data;