【发布时间】:2020-04-30 01:41:07
【问题描述】:
当我在 VS 中调试代码时,我返回的城市列表中包含 3 个对象以及属性。当我调用此端点时,我收到 3 个空对象列表项的响应。
如何解决这个问题?
模型类:
public class City
{
public string CityName;
public string AssociatedCities;
public string Province;
public int Status;
public City(string cityName, string associatedCities, string province, int status)
{
this.CityName = cityName;
this.AssociatedCities = associatedCities;
this.Province = province;
this.Status = status;
}
}
端点:
[HttpGet]
[Route("cities")]
public ActionResult<IEnumerable<City>> GetCities()
{
return Ok(Cities);
}
这就是我调用端点的方式
getCities() {
this.http.get<City[]>('/api/wizard/cities')
.subscribe(result => {
console.log(result);
this.cities = result;
}, error => console.error('Something went wrong : ' + error));
}
需要的响应:
[
{
"SearchCity": "Toronto",
"AssociatedCities": "Ajax, Whitby, Toronto, Mississauga, Brampton",
"Province": "ON",
"Status": 1
},
{
"SearchCity": "Vancouver",
"AssociatedCities": "Vancouver, Vancouver City",
"Province": "BC",
"Status": 1
}
]
【问题讨论】:
-
请添加您对
Cities的定义。 -
你有
public City()构造函数吗?请添加默认构造函数并再试一次public City() {} -
谢谢,马上更新。
-
JSON 序列化程序不支持 fields - 使用 properties。即
public string CityName { get; set; }等 -
感谢@KirkLarkin 为我工作。新手在这里'为什么会犯错误。再次感谢。
标签: c# angular asp.net-core asp.net-core-webapi