用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档

Swagger是一个描述RESTful的Web API的规范和框架。如果使用ASP.NET的话,可以用Swashbuckle来自动生成Swagger,具体参考如何使 WebAPI 自动生成漂亮又实用在线API文档。下面详细的介绍一下如何给ASP.NET Core的项目自动生成Swagger的API帮助文档。

创建ASP.NET Core的Web API Controller

在Visual Studio 2015中创建一个ASP.NET Core的项目,点击添加“New Item”,“Server-side”,“Web API Controller Class”。Visual Studio会帮我们自动创建一个如下的文件,实现了一个标准的RESTful的Web API。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[Route("api/[controller]")]
public class ValuesController : Controller
{
   // GET: api/values
   [HttpGet]
   public IEnumerable<string> Get()
   {

       return new string[] { "value1", "value2" };
   }

   // GET api/values/5
   [HttpGet("{id}")]
   public string Get(int id)
   {

       return "value";
   }

   // POST api/values
   [HttpPost]
   public void Post([FromBody]string value)
   {

   }

   // PUT api/values/5
   [HttpPut("{id}")]
   public void Put(int id, [FromBody]string value)
   {

   }

   // DELETE api/values/5
   [HttpDelete("{id}")]
   public void Delete(int id)
   {

   }
}


添加Swashbuckle的Nuget包

打开project.json文件,添加Swashbuckle的依赖Swashbuckle.SwaggerGenSwashbuckle.SwaggerUi。注意我们要使用6.0的版本,这是针对ASP.NET Core的。它的github地址Ahoy也和之前的版本不一样了。


1
2
3
4
5
6
7
8
9
10
"dependencies": {
 "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
 "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
 "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final",
 "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
 "Microsoft.AspNet.SignalR.Server": "3.0.0-rc1-final",
 "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
 "Swashbuckle.SwaggerGen": "6.0.0-rc1-final",
 "Swashbuckle.SwaggerUi": "6.0.0-rc1-final"
},


Startup.cs中配置Swashbuckle


1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void ConfigureServices(IServiceCollection services)
{

   // ...
   services.AddSwaggerGen();
   // ...
}

public void Configure(IApplicationBuilder app)
{

   // ...
   app.UseSwaggerGen();
   app.UseSwaggerUi("help"); // API文档的地址,默认是 /swagger/ui
   // ...
}


运行项目,查看API文档,也能直接测试

万事俱备,运行项目,打开地址,就能看到如下的API文档了,还能直接在这里测试Web API。


相关文章:

  • WebAPI前置知识:HTTP与RestfulAPI

  • WEB API系列(一):WEB API的适用场景、第一个实例

  • WEB API 系列(二) Filter的使用以及执行顺序

  • ASP.NET Web API 安全筛选器

  • Web API 基于ASP.NET Identity的Basic Authentication

  • ASP.NET Web Api使用CacheCow和ETag缓存资源

  • 使用 West Wind WebSurge 对 ASP.NET Web API 服务进行压力测试

  • Web API应用支持HTTPS的经验总结

  • Dion Hinchcliffe谈Web API的过去与未来

  • WebAPI生成可导入到PostMan的数据

  • 如何使 WebAPI 自动生成漂亮又实用在线API文档


原文地址:http://fresky.github.io/2016/06/08/use-swashbuckle-to-add-swagger-api-help-for-asp-net-core/


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

涨知识 | 100个中国最难读的地名,第一个就折了

内容来源网络&#xff0c;侵删&#xff01; 1.浙江丽水的丽&#xff0c;不读l&#xff0c;读l。 2.浙江台州、天台的台&#xff0c;不读ti&#xff0c;读tāi。 3.浙江嵊州的嵊&#xff0c;读音为shng。 4.浙江鄞县的鄞&#xff0c;读音为yn&#xff0c;不读jn。 5.浙江乐清的乐…

JSP 教程

JSP 教程JSP 教程JSP 简介JSP 开发环境搭建Eclipse JSP/ServletJSP 结构JSP 生命周期JSP 语法JSP 指令JSP 动作元素JSP 隐式对象JSP 客户端请求JSP 服务器响应JSP HTTP 状态码JSP 表单处理JSP 过滤器JSP Cookie 处理JSP SessionJSP 文件上传JSP 日期处理JSP 页面重定向JSP 点击…

IronPython项目有了新负责人

运行IronPython项目的社区领导职责已经交给了Alex Earl和Benedikt Eggers。之前的负责人Jeff Hardy自微软在2010年不再积极参与以来一直负责项目的运行。 Jeff Hardy写道&#xff1a; 应该已经相当明显了&#xff0c;IronPython项目有点停滞不前&#xff0c;那主要是我的错&…

修改Tomcat编码方式的两种方法

转载自 修改Tomcat编码方式的两种方法方法一&#xff1a;推荐&#xff0c;不会影响到其它项目 见我的另一篇博客&#xff1a;http://www.cnblogs.com/x_wukong/p/3292664.html 修改方法&#xff1a; 修改tomcat下的conf/server.xml文件&#xff0c;找到Connector标签&#x…

Microsoft宣布.NET Core支持计划

微软宣布针对.NET Core、ASP.NET Core和Entity Framework Core的支持计划。据来自微软的Lee Coward介绍&#xff0c;公司计划使用一种双管齐下的方法来管理这些系统的发布。该计划回答了微软开源计划背后的其中一个主要问题——开发人员可以在多长时间内依赖微软向这些年轻的项…

《机器学习项目开发实战》送书活动结果公布

截止到8月8日24&#xff1a;00&#xff0c;本次送书活动 共收到70位同学参与回复&#xff0c;本次很多同学在看到活动的书《机器学习项目开发实践》&#xff0c;自行就到各大网络商店上购买了书&#xff0c;据反馈这个书很不错&#xff0c;小二昨天也收到一本人民邮电出版社的书…

如何在局域网访问Tomcat项目

转载自 如何在局域网访问Tomcat项目1 前言有时候因为工作需要&#xff0c;我们需要访问服务器上的项目或是把你的机器上的项目让你的同事访问到&#xff0c;诸如此类的&#xff0c;都涉及到了这个课题&#xff1a;如何在局域网访问Tomcat项目&#xff1f;而tomcat本身是支持局…

键盘录入一个正整数,把它的各个位上的数字倒着排列形成一个新的整数并输出。 例如:12345 数出54321 78760 输出6787(0省去)

package com.coffn.demos; /*** 4、键盘录入一个正整数&#xff0c;把它的各个位上的数字倒着排列形成一个新的整数并输出。例如&#xff1a;12345 数出54321 78760 输出6787&#xff08;0省去&#xff09;*/ import java.util.Scanner;public class Demo1 {public static vo…

Entity Framework Core延期及弃用的特性

由于破坏了向后兼容性&#xff0c;Entity Framework的名声相当不光彩&#xff0c;但与Entity Framework Core的完全重写相比就相形见绌了。在本文中&#xff0c;InfoQ将着眼于其中部分主要特性的变化及其影响。 延期及弃用的特性 首先&#xff0c;我们将看下那些EF Core 1.0没有…

JSP页面EL表达式不解析

转载自 JSP页面EL表达式不解析问题是这样&#xff1a;在搭建springMVC环境的时候&#xff0c;笔者写了一个简单的Controller如下&#xff1a;Controller public class HelloController {RequestMapping(value "/hello.do", method RequestMethod.GET)public Strin…

将字符串String str= “abc god 中国 java“ 反转每个单词 结果: “cba dog 国中

/*** String str "abc god 中国 java"&#xff08;较难&#xff09; 反转每个单词结果&#xff1a; "cba dog 国中 avaj"**/ public class Demo2 {public static void main(String[] args) {String str …

netcore - MVC的ActionFilter的使用

经过一周的时间没有分享文章了&#xff0c;主要是在使用.netcore做一个小的项目&#xff0c;项目面向大众用户的增删改查都做的差不多了&#xff0c;打算本周在云服务器上部署试试&#xff0c;很期待&#xff0c;也希望上线后大家多多支持&#xff1b;以上纯属个人废话&#xf…

启动tomcat不出现命令窗口

转载自 启动tomcat不出现命令窗口 有个软件要安装在U盘中&#xff0c;B/S结构&#xff0c;用tomcat做应用服务器&#xff0c;客户要求tomcat不能注册为系统服务&#xff0c;启动时tomcat启动时不能出现命令行窗口&#xff0c;怎么实现&#xff1f;根据你的问题描述&#xff0c…

猜数字游戏 : 共给玩家10次机会,若第一次就猜对了,显示‘您真是个天才’,若10也没猜对,显示“您太笨了,下次努力吧!”, 若是第2-10次猜对了,只简单的显示:“恭喜您猜对了”。

猜数字游戏 &#xff1a; 共给玩家10次机会&#xff0c;若第一次就猜对了&#xff0c;显示‘您真是个天才’&#xff0c;若10也没猜对&#xff0c;显示“您太笨了&#xff0c;下次努力吧&#xff01;”, 若是第2-10次猜对了&#xff0c;只简单的显示&#xff1a;“恭喜您猜对了…

Java:对double值进行四舍五入,保留两位小数的几种方法

转载自 Java&#xff1a;对double值进行四舍五入&#xff0c;保留两位小数的几种方法1. 功能 将程序中的double值精确到小数点后两位。可以四舍五入&#xff0c;也可以直接截断。 比如&#xff1a;输入12345.6789&#xff0c;输出可以是12345.68也可以是12345.67。至于是否需…

有一种陪伴不在身边,却在心间

内容来源&#xff1a;这里 有一种情&#xff0c;不求朝暮相见 只想在灵魂深处相偎 能多久&#xff0c;就多久 有一种朋友不在生活里 却在生命里 有一种陪伴不在身边 却在心间 每天在朋友圈都可以看到 你的行踪或心语 有空回复一下 感觉彼此就在面前&#xff0c;全心一笑…

NSubstitute完全手册索引

NSubstitute 是什么&#xff1f; NSubstitute 是一个 .NET 单元测试模拟类库。 一直以来&#xff0c;开发者对 mocking 类库的语法的简洁性有强烈的需求&#xff0c;NSubstitute 试图满足这一需求。简单明了的语法可以让我们将重心放在测试本身&#xff0c;而不是纠缠在测试替代…

如何彻底删除MySQL数据库(保姆级教学)

如何彻底删除MySQL数据库&#xff1a; 一、首先在控制面板删除你的MySQL数据库的部分安装 如图所示&#xff1a; 二、打开你的C盘&#xff0c;在Program Files 或者 Program Files&#xff08;x86&#xff09;里面找到有关MySQL的所有文件夹&#xff0c;并删除 如图所示&…

获取一个 Byte 的各个 Bit 值

转载自 获取一个 Byte 的各个 Bit 值1. bit&#xff1a;位 一个二进制数据0或1&#xff0c;是1bit&#xff1b;2. byte&#xff1a;字节 存储空间的基本计量单位&#xff0c;如&#xff1a;MySQL中定义 VARCHAR(45) 即是指 45个字节&#xff1b; 1 byte 8 bit3. 一…

Asp.net core中Migration工具使用的交流分享

一、文章参数 开发工具&#xff1a;visual studio 2015 community update 3 .net core tools(preview2) sqlserver2012 express开发环境&#xff1a;win10&#xff08;版本14393&#xff09; .net core(版本 1.0.0-preview2-003121)项目名称&#xff1a;AirMusic项目模板&…