[英].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.