Remover esquema na IU Swagger - continuado
Oct 16 2020
Eu segui o artigo principal: .Net Core 3.1 Remover esquema na interface do usuário do Swagger
Eu apliquei este filtro:
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);
}
}
}
Eu adicionei aqui:
services.AddSwaggerGen(options =>
{
options.OperationFilter<AddRequiredHeaderParameter>(Configuration.GetSection("DefaultConfig")["TenantId"]);
options.DocumentFilter<RemoveSchemasFilter>();
}
Todo o esquema correto é removido da parte inferior da IU do Swagger. Porém, quando clico em um método, ele traz um diálogo de erros. Funciona, mas esta janela fica no topo e é muito irritante.
Vamos resolver esse problema juntos, pois não havia solução anterior!
Respostas
2 grozdeto Oct 22 2020 at 14:21
O filtro de esquema é inútil.
Tudo o que precisa ser feito está em
app.UseSwaggerUI(options =>
{
options.DefaultModelsExpandDepth(-1);
}
Observação: é o modelo padrão, não o modelo padrão. DIfference is DefaultModel é a profundidade de expansão padrão para o modelo na seção de exemplo de modelo, enquanto DefaultModels é a profundidade de expansão para modelos.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino