.net core使用swagger

1新建一个web api项目, 首先引用swagger NUget包

Swashbuckle.AspNetCore

2 在startup中配置swagger服务

   public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();

            // 注册Swagger服务
            services.AddSwaggerGen(c =>
            {
                // 添加文档信息
                c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
                {
                    Version = "v1",
                    Title = "zhuyun's API",
                    Description = "A simple example ASP.NET Core Web API"
                     });
                // 使用反射获取xml文件。并构造出文件的路径
                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                // 启用xml注释. 该方法第二个参数启用控制器的注释,默认为false.
                c.IncludeXmlComments(xmlPath, true);
                //对于报错“Failed to load API definition.”的处理
                c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
            });
        }
 public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            app.UseRouting();
            #region swagger
            //启用中间件服务生成Swagger作为JSON终结点
            app.UseSwagger();
            //启用中间件服务对swagger-ui,指定Swagger JSON终结点
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
                //路径配置,设置为空,表示可以去除一个字符 在lunchsetting中配置launchUrl为swagger/index.html 则输入地址localhost:5000/Index.html即可访问swagger
                c.RoutePrefix = "";
            });
            #endregion

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }

3 在lunchsetting中设置启动地址为swagger

基本的起点就可以实现swagger页面

4 现在配置xml文件生成 可实现接口的备注


实现效果

swagger出现500的原因

posted @ 2021-09-18 16:42  原往  阅读(491)  评论(0)    收藏  举报