Dot-Net-Core
.Net Core 3.1 刪除 Swagger UI 上的架構
我有 .Net 3.1 Web Api,我想在 Swagger UI 上刪除這部分“架構”。
不需要模式過濾器。經過幾天的努力,我發現:
所有需要做的都在
app.UseSwaggerUI(options => { options.DefaultModelsExpandDepth(-1); });注意:它是 DefaultModels(複數)而不是 DefaultModel(單數)。區別在於DefaultModels是模型範例部分中模型的預設擴展深度,而DefaultModels是模型的擴展深度。
經過一番折騰後,使用使用者的建議“CoffeeCodeConverterImpl”,我製作了這樣的課程:
public class RemoveSchemasFilter : IDocumentFilter { public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context) { IDictionary<string, OpenApiSchema> _remove = swaggerDoc.Components.Schemas; foreach (KeyValuePair<string, OpenApiSchema> _item in _remove) { swaggerDoc.Components.Schemas.Remove(_item.Key); } } }執行:
c.DocumentFilter<RemoveSchemasFilter>();
