zoukankan      html  css  js  c++  java
  • NetCore+Dapper WebApi架构搭建(五):Swagger构建WebApi界面

    上一节讲解了仓储的依赖注入,想必现在都可以通过构造函数依赖注入直接调用

    但是WebApi只是提供一个接口调用,为了方便我们的操作,我们得给他加上一个图形化界面工具,使用Swagger

    WebApi项目添加Swagger的Nuget包:Swashbuckle.AspNetCore

    打开StartUp.cs类,在ConfigureServices方法里面添加下面的代码

     1 #region  添加SwaggerUI
     2 
     3             services.AddSwaggerGen(options =>
     4             {
     5                 options.SwaggerDoc("v1", new Info
     6                 {
     7                     Title = "Dinner API接口文档",
     8                     Version = "v1",
     9                     Description = "RESTful API for Dinner",
    10                     TermsOfService = "None",
    11                     Contact = new Contact { Name = "wangshibang", Email = "wangyulong0505@sina.com", Url = "" }
    12                 });
    13                 options.IgnoreObsoleteActions();
    14                 options.DocInclusionPredicate((docName, description) => true);
    15                 options.IncludeXmlComments(Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "Dinner.WebApi.xml"));
    16                 options.DescribeAllEnumsAsStrings();
    17                 options.OperationFilter<HttpHeaderOperation>(); // 添加httpHeader参数
    18             });
    19 
    20             #endregion
    View Code

    在Configure方法里面添加下面的代码

    1 #region 使用SwaggerUI
    2 
    3             app.UseSwagger();
    4             app.UseSwaggerUI(options =>
    5             {
    6                 options.SwaggerEndpoint("/swagger/v1/swagger.json", "Dinner API V1");
    7             });
    8 
    9             #endregion
    View Code

    PlatformServices.Default.Application.ApplicationBasePath是项目生产的默认目录,Dinner.WebApi.xml是项目生产的Xml文档,这需要设置

    右键WebApi项目选择属性

    后面添加个1591是为了避免不必要的警告

    然后打开项目下面的Properties下面的launchSettings.json修改页面启动页为swagger

    上面说的RuntimeHelper类有个[ApiExplorerSettings(IgnoreApi=true)],这个是忽略这个Api的意思,你只需要在对应的Api上面添加这个特性,对应的Api就会被忽略

    我们需要在UsersController里面的action上写上注释,这样在Swagger页面才会有对应的文字说明

    在StartUp类里面的swagge配置里有个options.OperationFilter<HttpHeaderOperation>();,这个是认证的内容,我们放到下节讲解,现在你们先把他注释掉

    F5运行项目,看看生成的swagger页面

    下一节我们讲JWT认证

    源码地址:https://github.com/wangyulong0505/Dinner

  • 相关阅读:
    hadoop中namenode发生故障的处理方法
    开启虚拟机所报的错误:VMware Workstation cannot connect to the virtual machine. Make sure you have rights to run the program, access all directories the program uses, and access all directories for temporary fil
    Hbase的安装与部署(集群版)
    分别用反射、编程接口的方式创建DataFrame
    用Mapreduce求共同好友
    SparkSteaming中直连与receiver两种方式的区别
    privot函数使用
    Ajax无刷新显示
    使用ScriptManager服务器控件前后台数据交互
    数据库知识
  • 原文地址:https://www.cnblogs.com/wangyulong/p/8961914.html
Copyright © 2011-2022 走看看