Почему полученный JSON обрезается? - PullRequest
0 голосов
/ 15 января 2019

У меня есть WebAPI, созданный на основе .NET Core.

API возвращает список городов с достопримечательностями.(отношение один ко многим)

Я использую Postman для проверки результатов, но точно так же происходит в браузере.

Что происходит (и это не связано с самим кодом), когдаЯ хочу получить города без достопримечательностей, возвращающийся JSON выглядит просто отлично и правильно отформатирован:

https://localhost:44316/api/cities?includeAttractions=false

Однако, когда я хочу получить города с достопримечательностями,возвращаемый JSON обрезается и не может быть отформатирован:

https://localhost:44316/api/cities?includeAttractions=true

Скажите, пожалуйста, почему он усекается?

WebAPI возвращает правильную действительную коллекцию

Модели:

public class City
{
    public City()
    {
        Attractions = new HashSet<Attraction>();
    }
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public int Population { get; set; }
    public int NumberOfAttractions { get { return Attractions.Count(); } }
    public virtual ICollection<Attraction> Attractions { get; set; }
}

public class Attraction
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public int CityId { get; set; }
    public virtual City City { get; set; }
}

public class CityInfoContext : DbContext
{
    public CityInfoContext(DbContextOptions options) : base(options)
    {
    }

    public virtual DbSet<City> Cities { get; set; }
    public virtual DbSet<Attraction> Attractions { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Attraction>(entity =>
        {
            entity.HasIndex(e => e.CityId);
            entity.Property(e => e.Description).IsRequired().HasMaxLength(200);
            entity.Property(e => e.Name).IsRequired().HasMaxLength(50);
            entity.HasOne(d => d.City).WithMany(p => p.Attractions).HasForeignKey(d => d.CityId);
        });

        modelBuilder.Entity<City>(entity =>
        {
            entity.Property(e => e.Description).IsRequired().HasMaxLength(200);
            entity.Property(e => e.Name).IsRequired().HasMaxLength(50);
        });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...