技术分析

jsfx
数据可视化技术分析

.NET Core WebAPI集成Swagger做接口管理

技术分析2232年前 (2019-10-30)大数据

什么是Swagger?

Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。

Swagger 有什么优势?

支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了,对程序员来说非常方便,可以节约写文档的时间去学习新技术。

提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还支持在线测试。参数和格式都定好了,直接在界面上输入参数对应的值即可在线测试接口。

在.NET Core中如何使用Swagger?

(1)准备工作

创建一个.NET Core WebApi 项目

创建一个Model类库

(2)在项目中引入Swagger

在WebApi项目中执行命令:Install-package Swashbuckle.AspNetCore

(3)在StarUp.cs的ConfigureServices中添加代码

复制代码
#region Swagger
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info
                {
                    Version = "v1.1.0",
                    Title = "Swagger WebAPI",
                    Description = "XXX项目API文档",
                    TermsOfService = "None",
                    Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "XXX项目", Email = "273145719@qq.com"
                    , Url = "https://www.cnblogs.com/NBIDataVis/" }
                });                var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);                //添加接口XML的路径
                var xmlPath = Path.Combine(basePath, "TrySwaggerCore.xml");                //如果需要显示控制器注释只需将第二个参数设置为true
                c.IncludeXmlComments(xmlPath, true);
            }); #endregion
复制代码

(4)在StarUp.cs的Configure中添加代码

复制代码
#region Swaggerapp.UseSwagger();
app.UseSwaggerUI(c =>{
  c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiDocument V1");
});#endregion
复制代码

 

(5)运行后进入/Swagger目录 即可查看Swagger已经启用

问题汇总:

(1)如果需要将WebApi的默认启动页设为Swagger则在Properties中

(2)在这里大家会发现运行后接口的注释并没有显示,我们需要配置注释XML文件

在WebAPI项目上点击右键-》属性-》生成-》XML文档文件

另外切记此处代码第二个参数需要设置为True,否则将不显示控制器级别的注释,只显示接口注释

(3)如果大家会发现有了许多警告,强迫症患者看这里,我们只需要在生成中强制过滤1591的警告即可

下一章给大家介绍Swagger的分组功能用法。

扫描二维码至手机访问

扫描二维码推送至手机访问。

版权声明:本文由策意data发布,如需转载请注明出处。

转载请注明出处:http://dsj.ceyicm.cn/reed/32.html

分享给朋友:

相关文章

将本地构建好的docker镜像发布到dockerhub

将本地构建好的docker镜像发布到dockerhub

各位读者你们好,上一篇文章介绍了如何将.NET Core项目构建成一个docker镜像,那么今天接下来我们介绍如何将本地docker项目镜像发布到dockerhub上,好了废话不多说,直接进入正题:(...

.NET Core WebAPI集成JWT,实现身份验证

.NET Core WebAPI集成JWT,实现身份验证

前两篇文章给大家介绍了在.NET Core中如何使用Swagger的文章,那今天给大家分享一下JWT在做接口开发的同学可能都有感受,我的接口如何保护的问题,如果没有身份验证,那不是接口完全暴露在外面,...

实战:SpringBoot+KafKa实现生产者和消费者功能

实战:SpringBoot+KafKa实现生产者和消费者功能

1.配置pom包<dependency>  <groupId>org.springframework.kafka</groupId>  <...

分享SQL,查询用户最近一次购买时间间隔

分享SQL,查询用户最近一次购买时间间隔

(1)先创建一张测试表:1   CREATE TABLE `用户购买订单` (2 3   `购买时间` datetime(6)&n...

.NET Core中过滤器Filter的使用介绍

.NET Core中过滤器Filter的使用介绍

知识点回顾:前面几篇文章分别给大家介绍了(1)Swagger的集成和用法;(2)JWT身份验证的集成和用法;(3)OOM框架AnutoMapper对象映射的用法;今天给大家介绍过滤器Filter的基本...

为什么不再使用D3.js、Echarts做数据可视化

为什么不再使用D3.js、Echarts做数据可视化

D3是什么全称是(Data-Driven Documents),一个被数据驱动的文档简单点,是一个JavaScript函数库,使用它主要用来做数据可视化。D3 是一个开源项目,作者是纽约时报的工程师。...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
每一次合作都多一位朋友

体验账号:administrator 密码:administrator

  • 7X12小时
    7X12小时

    专家1V1服务

  • 业务保障
    业务保障

    扎实数据根基

  • 合作伙伴
    合作伙伴

    NBIDataVis

  • 强大交付
    强大交付

    实现客户价值