Swagger UI Freeze / Cra sh - Asp. Net Core 3.1. Любое исправление? - PullRequest
1 голос
/ 14 февраля 2020

Я использую swashbuckle в моем ASP. Net Core 3.1 с пользовательским интерфейсом Swagger. Когда я нажимаю на модель, вся веб-страница падает / зависает. Я использую много (приблизительно 100) сущностей Entity Framework Core (7000 строк JSON).

Я переключился на Nswag, чтобы посмотреть, будет ли это лучше. Больше никаких сбоев, но все еще довольно медленно (10 секунд, когда вы нажимаете на модель, 20 на метод)

Должен ли я создавать DTO или есть решение моей проблемы?

Я также пытался добавив это в мой стартап, но это совсем не помогает.

     services.AddControllers().AddNewtonsoftJson(x =>
        {
            x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
        });

Ответы [ 2 ]

0 голосов
/ 19 марта 2020

Я закончил тем, что переключился на NSwag и использовал DTO. Лаг / кра sh исчез.

0 голосов
/ 18 февраля 2020

Из того, что вы сообщаете, кажется, что ваш swashbuckle использует старую версию swagger-ui, не должно быть никаких существенных отличий от Nswag и swashbuckle, если они имеют одинаковую версию swagger-ui.

Но эта проблема обсуждалась в проекте, сложные вложенные модели, когда они полностью раскрыты, огромны, вот некоторые данные, которые я собрал некоторое время назад:
https://github.com/swagger-api/swagger-ui/issues/4411#issuecomment -380168870

| Schema                                                     | SchemaSize | ExampleSize | ModelSize  |
|------------------------------------------------------------|------------|-------------|------------|
| http://swagger-net-test.azurewebsites.net/api/NestedSwag/2 | 1,368      | 10,578      | 262,519    |
| http://swagger-net-test.azurewebsites.net/api/NestedSwag/3 | 1,662      | 59,703      | 1,321,999  |
| http://swagger-net-test.azurewebsites.net/api/NestedSwag/4 | 1,956      | 332,828     | 6,640,079  |
| http://swagger-net-test.azurewebsites.net/api/NestedSwag/5 | 2,250      | 1,835,953   | 33,305,772 |

Как видите, расширение этих сложных моделей может быть дорогостоящей задачей в браузере.

...