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

    在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

    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    

    来源:https://www.cnblogs.com/wangyulong/p/8961914.html

  • 相关阅读:
    如何将 Python 程序打包成 .exe 文件?
    无穷滚动(Infinite scroll)的实现原理
    图片延迟加载(lazyload)的实现原理
    Java 基础 -- 泛型、集合、IO、反射
    Ubuntu on win10
    让自己少走点弯路
    使用MongoDB 记录业务日志
    19个JavaScript数组常用方法总结
    Kubernetes 使用Nginx-Ingress实现蓝绿发布/金丝雀发布/AB测试
    官方golang包管理神器
  • 原文地址:https://www.cnblogs.com/frank0812/p/12864598.html
Copyright © 2011-2022 走看看