首页 > 编程语言 >给ASP.NET Core WebAPI添加Swagger支持

给ASP.NET Core WebAPI添加Swagger支持

时间:2022-12-13 10:58:36浏览次数:60  
标签:WebAPI Core ASP 接口 添加 NET swagger

ASP.NET Core WebAPI是开发WebAPI接口的有利武器,且由于拥有.NET Core的基因支持跨平台,是当前.NET中开发接口的有利武器。但一般来说WebAPI接口开发完毕后,在发布前还需要测试。我们可以借助于外部的Fiddler等工具进行测试,但不太方便,尤其要进行接口传值时。那这个时候可以通过Swagger工具直接在Web网页中操作会极大的方便进行接口测试工作。

操作步骤:

一、asp.net core项目通过nuget包管理器添加swashbuckle.AspNetCore包

注意名称,不要添加错误,如下图所示。

二、在program.cs中注册swagger服务

注册swagger服务,可以通过添加中间件的形式注入,代码如下:

// Add services to the container.
builder.Services.AddSwaggerGen(t =>
{
    t.SwaggerDoc("v1", new OpenApiInfo()
    {
        Title = "xxx", //xxx内容为swagger中显示的标题
        Version = "v1",//v1为显示的版本号
        Description = "xxx", //xxx内容为swagger中显示的描述部分
    });
});

添加swagger支持

//添加swagger
app.UseSwagger();
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "test");
});

 三、运行WebAPI项目

修改launchSettings.json文件的launchUrl为swagger,如下。这样运行时就可以直接打开swagger界面了。

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:48397",
      "sslPort": 0
    }
  },
  "profiles": {
    "BroadswordWebAPI": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "http://localhost:5220",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

ctrl+f5直接运行项目

可以通过界面直接测试调用接口,并可以方便的传值调用,非常方便,推荐!

标签:WebAPI,Core,ASP,接口,添加,NET,swagger
From: https://www.cnblogs.com/guwei4037/p/16977947.html

相关文章

  • 【HMS Core】推送服务报错 907135000,如何解决?
    ​问题描述:集成推送服务,离线推送报错{"code":-1,"msg":"huaweiApiException:com.huawei.hms.common.ApiException:907135000:argumentsinvalid"} 解决方案:1、需......
  • 【HMS Core】华为统一扫码服务ScanKit如何获取具体条码的类型?
    ​1、问题描述项目中接入了华为的统一扫码服务SDK,识别过程正常,但是目前有个需求,需要在扫码完成之后根据条码的具体类型处理接下来的业务。问题是:识别完条形码后,如何拿到......
  • 一文教你集成通知系统的多种HMS Core服务,实现数据安全和真实用户验证
    ​1、介绍Overview云数据库是AppGalleryConnect提供的服务之一,实现云端数据的同步,提供统一的数据模型和丰富的数据管理接口。在保证数据的可用性、可靠性、一致性,以及安......
  • ASP .NET Core 使用 Nacos
    简介Nacos是DynamicNamingandConfigurationService的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos致力于帮助您发现、配置......
  • ASP.NET 路由实现页面静态化
    ​​http://www.jileiba.com/2012/03/31/asp-net-%E8%B7%AF%E7%94%B1%E5%AE%9E%E7%8E%B0%E9%A1%B5%E9%9D%A2%E9%9D%99%E6%80%81%E5%8C%96/​​作者:沐雪文......
  • nginx https作网关配置webapi路由规则
    为何有这篇文章?因为我有多个小程序,分别调用不同的api站点,服务器只能安装一个https单域名证书。 1、原webapi接口部署完毕,接口地址比如​​http://www.zyiz.net/api/getarti......
  • asp.net学习网站收集
    ​​http://www.dotneteye.net/index.aspx​​作者:沐雪文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者有,如需转载恳请注明。......
  • asp.net web mvc form表单提交
    1、指定action<formaction="/control/action1"method="post"><inputtype="submit"value="保存"/></form>publicstringaction1(FormCollectionform){}//......
  • 推荐一个很棒的开源工作流elsa-core
    ​​​​开源项目orchard主要开发人员SipkeSchoorstra开源了一个netcore工作流项目,地址:​​https://github.com/elsa-workflows/elsa-core​​,最新版本1.2,正在开发2.0版......
  • 《ASP.NET Core 6 框架揭秘》第四章读书笔记 - 文件系统
    IFileProvider对象构建了一个抽象的文件系统,我们不仅可以利用该系统提供的统一API读取各种类型的文件,还能及时监控目标文件的变化。 4.1抽象的文件系统IFileProvid......