zoukankan      html  css  js  c++  java
  • swagger

    1,添加引用

    <GenerateDocumentationFile>true</GenerateDocumentationFile>
        <NoWarn>$(NoWarn);1591</NoWarn> 生成注释文件
    <Project Sdk="Microsoft.NET.Sdk.Web">
    
      <PropertyGroup>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
        <NoWarn>$(NoWarn);1591</NoWarn>
      </PropertyGroup>
    
      <ItemGroup>
        <PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.0" />
      </ItemGroup>
    
    
    </Project>

    2,添加服务、中间件

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.AspNetCore.HttpsPolicy;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Hosting;
    using Microsoft.Extensions.Logging;
    using Microsoft.OpenApi.Models;
    using System.Reflection;
    using System.IO;
    
    
    namespace swaggerdemo
    {
        public class Startup
        {
            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;
            }
    
            public IConfiguration Configuration { get; }
    
            // This method gets called by the runtime. Use this method to add services to the container.
            public void ConfigureServices(IServiceCollection services)
            {
    
                services.AddControllers();
                //注册Swagger生成器,定义一个或多个Swagger文档
                services.AddSwaggerGen(c =>
                {
                    c.ResolveConflictingActions(api=>api.Last());//同样的接口名 传递了不同参数,使用第一个api名称
                    c.SwaggerDoc("v1", new OpenApiInfo()
                    {//添加描述信息
                        Version = "v1",//描述文档的版本
                        Title = "openapi",//描述文档的标题
                        Description = "这个一个对外的文档",//描述信息
                        TermsOfService = new Uri("https://www.baidu.com"),//服务条款
                        Contact = new OpenApiContact()//联系方式
                        {
                            Name = "张迪",
                            Email = "123@qq.com",
                            Url = new Uri("https://www.zhangdi.com")
                        },
                        License = new OpenApiLicense()//许可证
                        {
                            Name = "Use under LICX",
                            Url = new Uri("https://example.com/license")
                        }
                    });
                    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                    c.IncludeXmlComments(xmlPath);
                });
    
    
    
    
            }
    
            // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
            public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
    
                //允许中间件将生成的Swagger作为JSON端点提供
                app.UseSwagger();
                //启用中间件来服务Swagger -ui (HTML, JS, CSS等),指定Swagger JSON端点。
                app.UseSwaggerUI(options =>
                {
                    options.SwaggerEndpoint("/swagger/v1/swagger.json", "版本1");
                    options.RoutePrefix = string.Empty;//要在应用程序的根目录(http://localhost:<port>/)提供Swagger UI
                });
    
                app.UseHttpsRedirection();
    
                app.UseRouting();
    
                app.UseAuthorization();
    
                app.UseEndpoints(endpoints =>
                {
                    endpoints.MapControllers();
                });
            }
        }
    }
  • 相关阅读:
    CentOS7设置hostname、hosts、静态IP地址、关闭防火墙
    排序算法总结对比
    Java——HashMap使用Demo
    Java——HashMap底层源码分析
    Java——LinkedList使用Demo
    laravel框架之及時更改
    laravel框架之批刪&全選&全不選&反選
    laravel框架之即點即改
    laravel框架之修改
    laravel框架之增刪改查
  • 原文地址:https://www.cnblogs.com/zd1994/p/14234651.html
Copyright © 2011-2022 走看看