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

  • 相关阅读:
    window.open的火狐、谷歌兼容写法
    一个分数怎样约分?想知道的速度了。。。
    这是第二道题内容要求写一个银行的ATM系统 这个浪费了好长时间 ,遇到了许多问题,不过都解决了,上程序
    两个有理数相加(要求输入时以分数形式,输出时也以分数形式)
    linux centos 7.5下 源码编译安装 lua环境
    SecureCRT 6.7 vim高亮
    C#第一章笔记
    HTML5考试错题
    第九章博客
    第八章博客
  • 原文地址:https://www.cnblogs.com/wangyulong/p/8961914.html
Copyright © 2011-2022 走看看