在.NET 6中,Swagger UI未在Swagger UI上显示Model详细信息

sqxo8psd  于 2023-05-28  发布在  .NET
关注(0)|答案(1)|浏览(383)

我有下面的 Swagger 的代码和模型类。我的其他模型可以在Swagger UI上看到。只有这一个是失踪,不知道为什么和我在这里失踪。我在catch块的控制器代码中使用这个模型来返回错误。它仍然有一个问题。

//Swagger.cs file
public static class SwaggerConfig
    {
        public static void ConfigureSwaggerServices(this IServiceCollection services)
        {
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo
                {
                    Title = "API",
                    Version = "v1",
                    Description = "APIs."
                });

                // Set the comments path for the Swagger xml and UI.
                var xmlCommentsFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlCommentsFile);

                c.IncludeXmlComments(xmlPath);
                c.IncludeXmlComments($@"{System.AppDomain.CurrentDomain.BaseDirectory}/Models.xml");

            });
        }

        public static void ConfigureSwaggerMiddleware(this WebApplication app)
        {
            if (app.Environment.IsDevelopment()|| Environment.GetEnvironmentVariable("ENVIRONMENT") =="Dev")
            {
                app.UseSwagger();
                app.UseSwaggerUI(c =>
                {
                    c.SwaggerEndpoint("/swagger/v1/swagger.yaml", "API V1");
                });
            }
        }
    }

模型类文件如下。

public class ErrorList
    {
        public ErrorList()
        {
            Errors = new List<Errors>();
        }

        public List<Errors> Errors { get; set; } 
    }
vjrehmav

vjrehmav1#

1.确保在应用程序启动期间调用SwaggerConfig.ConfigureSwaggerServices方法。该方法负责配置Swagger并添加必要的XML注解。
1.验证ErrorList模型的XML文档文件是否已生成并显示在正确的位置。在您的代码中,您已经包含了行c.IncludeXmlComments($@"{System.AppDomain.CurrentDomain.BaseDirectory}/Models.xml”);,这表明您有一个单独的XML文件来记录模型。请确保XML文件包含ErrorList类的文档。
1.检查ErrorList类本身中的XML注解。确保使用XML注解正确地记录属性和类本身,因为Swagger使用这些注解来生成文档。
1.确认在项目设置中正确引用了XML文档文件。右键单击项目,选择“Properties”,导航到“Build”选项卡,并确保“XML documentation file”字段填充了正确的XML文件名。
现在重建。

相关问题