如何解决ASP Net Core API退还Json
我正在学习Net Core,并且正在使用Entity Framework Core 2.1生成控制器。
我上了这些课:
public partial class Posts
{
public int Id { get; set; }
//Some other atributes
public virtual ICollection<PostsTags> PostsTags { get; set; }
}
public partial class Tags
{
public int Id { get; set; }
public string Nombre { get; set; }
public List<PostsTags> PostsTags { get; set; }
}
public partial class PostsTags
{
public int PostId { get; set; }
public int TagId { get; set; }
public virtual Tags Tags { get; set; }
public virtual Posts Posts { get; set; }
}
事实是,由于我要搜索的多对多关系,因此我需要此中间表。
当我运行项目时,然后获取“ Posts”方法即可:
[{"id":1,"fecha":"2020-09-13T20:07:00","titulo":"Error 1001 al instalar Agilis HTTP Server","ismPostId":3800,"votos":0,"publicadorId":1,"usuarios":{"nombre":"Robert","apellido":"Gotsik","codigo":"rg","password":"rg","id":1,"estado":0},"alcance":0,"texto":"Some explanation here","postsTags":[{"postId":1,"tagId":1,"tags":{"id":1,"nombre":"FICS","postsTags":[
JSON的结尾被切掉。
我已经在OnModelCreating中添加了流利的API:
modelBuilder.Entity<PostsTags>().HasKey(pt => new { pt.PostId,pt.TagId });
解决方法
我已经解决了这个问题。
在ConfigureServices中,我添加了以下内容:
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddJsonOptions(options =>
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
这将注释循环递归。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。