Ограничьте глубину создаваемых примеров в документе Swagger или отключите примеры - PullRequest
0 голосов
/ 27 мая 2020

Можно ли ограничить глубину генерируемых примеров или, по крайней мере, отключить примеры для конкретной конечной точки?

Действие контроллера OData может вернуть IQueryable, поэтому имеет смысл использовать реальное ядро ​​EF объект в [ProducesResponseType], чтобы избежать дублирования кода:

public class FooController
{
    [ProducesResponseType((int) HttpStatusCode.OK, Type = typeof(List<FooEntity>))]
    public IQueryable GetFooQueryable()
    {
    }
}

Проблема: сгенерированный пример описывает почти всю базу данных из-за свойств навигации в этой сущности, что делает весь JSON громоздким (например, 10 МБ) и почти непригоден для использования. Более того, пример может быть просто некорректным из-за того, что опция OData $expand обычно настроена с верхним пределом для вложенности, что отключает неконтролируемое чтение вложенных сущностей. По умолчанию эта глубина равна 2.

Кстати, я спросил то же самое на Github без обратной связи.

...