添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • Include="Swashbuckle.AspNetCore" Version="6.4.0"
  • Include="Swashbuckle.AspNetCore.Filters" Version="7.0.5"
  • Include="Swashbuckle.AspNetCore.Newtonsoft" Version="6.4.0"
  • 2. Program添加swagger服务

    using Microsoft.OpenApi.Models;
    using System.Reflection;
    //WebApplication表示整个Web应用程序,调用CreateBuilder()方法创建一个WebApplication对象
    var builder = WebApplication.CreateBuilder(args);
    // Add services to the container.
    //WebApplication对象添加RazorPage服务,也可以添加其他服务,比如依赖注入,登录等
    //builder.Services.AddRazorPages();
    builder.Services.AddControllersWithViews();
    //创建Swagger
    builder.Services.AddSwaggerGen(options =>
    	options.SwaggerDoc("v1", new OpenApiInfo
                   c.SwaggerDoc("v1", new OpenApiInfo { Title = "Wechat Doc", Version = "v1" });
                   c.CustomSchemaIds((type) => type.FullName);
                   var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
                   var apiXmlPath = Path.Combine(basePath, "xxx.xxx.Client.xml");
                   var entityXmlPath = Path.Combine(basePath, "xxx.xxxx.Application.xml");
                   c.IncludeXmlComments(apiXmlPath);
                   c.IncludeXmlComments(entityXmlPath);
                   c.OperationFilter<HttpAuthHeaderFilter>();//这一步是为了在header中添加token验证,不需要的同学可以忽略
    //swagger默认是把属性名作为生成文档的字段名,以下为配置使用JsonProperty的别名
    services.AddSwaggerGenNewtonsoftSupport();
    //构建一个WebApplication实例
    var app = builder.Build();
    // Configure the HTTP request pipeline.
    //添加一个异常处理中间件,此中间件发生作用的条件是:当前运行环境必须是开发环境,如果Web应用程序出现问题,则跳转到Error.CSHTML页面
    if (!app.Environment.IsDevelopment())
    	//app.UseExceptionHandler("/Error");
    	//The default HSTS value is 30 days.You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    	//app.UseHsts();
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");
    c.RoutePrefix = string.Empty;
    c.DocExpansion(Swashbuckle.AspNetCore.SwaggerUI.DocExpansion.None);
    c.DefaultModelsExpandDepth(-1);
    app.UseHttpsRedirection();
    //启用静态文件中间件,加上这行代码后,我们在浏览器中才能访问wwwroot目录下的文件,否则会报错
    app.UseStaticFiles();
    //启动路由中间件,启用后再浏览器中输入网址Web应用才能正确解析
    app.UseRouting();
    //启用权限校验中间件,当我们的网站是基于身份认证的话需要用到
    app.UseAuthorization();
    //启用RazorPages中间件,如果是Mvc应用,则使用app.UseMvc()中间件
    //app.MapRazorPages();
    app.MapControllerRoute(
    	name: "default",
    	pattern: "{controller=Home}/{action=Index}/{id?}");
    //启动应用,当我们开始执行WebApp,浏览器就会帮我们打开网站Index页面,
    //如果去掉这一行,就会提示没有此对象关联的进程
    app.Run();
    复制代码
    分类:
    后端
    标签: