![](/img/trans.png)
[英].NET Core 3.1 WebApi - Passthrough JSON response from another WebApi
[英]Not completed response with Include from WebApi Core
我有兩個模型類。
Projects
:
public class Project
{
public Project()
{
}
[Key]
public int Id { get; set; }
public string Tag { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual List<Task> Tasks { get; set; }
}
和Tasks
:
public class Task
{
public Task()
{
}
[Key]
public int Id { get; set; }
[ForeignKey("Project")]
public int ProjectId { get; set; }
public Project Project { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Priority Priority { get; set; }
public int? StoryPoints { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
}
我有簡單的ProjectController
和GetProjects
方法:
[HttpGet]
public IEnumerable<Project> GetProjects()
{
return context.Projects.Include(t => t.Tasks);
}
但是從這個GET
,我得到的東西看起來像這樣:
如您所見, tasks
被切斷。
但當我刪除Include
:
[HttpGet]
public IEnumerable<Project> GetProjects()
{
return context.Projects;
}
一切正常:
但當然,我們沒有完成任務。
我的問題是,如何使用.Net Core 2.1 WebApi
包含Tasks
? 那是怎么回事?
PS。 我嘗試使用ObjectResponse
ToList()
和IActionResult
,所有工作都相同(切割的任務和項目)。 Postman
不能從中得到任何東西,這就是為什么我用鉻來向你展示這個案例
問題解決了。 你需要添加:
services.AddMvc().AddJsonOptions(options =>
{ options.SerializerSettings.ReferenceLoopHandling =
Newtonsoft.Json.ReferenceLoopHandling.Ignore; });
在你的Startup.cs
,一切正常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.