最近迷上了前后端分离的开发架构,工作中的项目几乎都采取这种模式,自己主要担任服务端RestFul风格的Webapi开发。那么问题来了,当前端开发人员找我要api说明文档的时候,曾一度非常可耻的冒出过word、excel之类的想法,oh my god!我一定是昨晚吃的东西还没消化,吃撑了。好了,言归正传,在团队开发中,一个好的 API 文档可以减少很多 交流成本 ,也可以使一个新人快速上手业务。so,swagger就是一个非常不错的选择,而且现在nuget中可以安装swagger的.net支撑包,这就更加便捷了,完全可以将开发人员从api文档的编写工作中解放出来。

具体的操作方式如下:

1、新建一个webapi 2项目,这里就不再赘述了

2、使用程序包管理器控制台安装Swashbuckle,命令如下:Install-Package Swashbuckle

3、安装好以后,会自动在项目的App_Start文件夹下新建一个SwaggerConfig.cs文件

4、打开项目的属性配置窗口,在生成选项卡中勾选XML文档文件,并配置文档路径及名称为bin\Swagger.xml(具体名字可随个人喜好或者项目的统一规范标准进行命名)

至此就已经OK了,调试运行模式/发布到iis后,在http://baseurl/swagger/ 下即可看到所有controll及其下所有的api

展开Account后的界面

但是,问题来了,我的api为什么都没有说明性的文字呢?我在代码中明明是增加了方法注释的呀

好吧,不用着急,做几步简单的处理即可解决这个问题

1、在SwaggerConfig.cs中,打开Register方法里的c.IncludeXmlComments(GetXmlCommentsPath());这句代码

2、新增GetXmlCommentsPath方法

private static string GetXmlCommentsPath()
{
  return System.String.Format(@"{0}\bin\swagger.XML", System.AppDomain.CurrentDomain.BaseDirectory);
}

注意,上面代码中的文档路径要跟项目属性中配置的一样,包括名称和路径地址,我之前配置的时候就只写了Swagger.XML,忘记了bin\目录

好了,再次调试运行/发布到iis(已经发布到IIS的直接编译一下即可),大功告成。

swagger非常棒的一个特性,就是可以直接测试

在Value中输入参数,点击Try it out!,即可看到api的返回结果

怎么样,很棒吧!

swagger for c# webapi的更多相关文章

  1. ABP项目中使用Swagger生成动态WebAPI

    本文是根据角落的白板报的<使用ABP实现SwaggerUI,生成动态webapi>一文的学习总结,感谢原文作者角落的白板报. 1 安装Swashbuckle.core 1.1 选择WebA ...

  2. Swagger+Asp.net WebApi实例

    第一步新建WebApi项目 文件-新建-项目,弹出以下页面 第二步,新建参数项目 第三步 1.自定义输入参数 2.定义公用输出参数 3.定义输出参数 4.定义返回模型 第四步,在webapi项目中新增 ...

  3. asp.net mvc5中使用Swagger 自动生成WebApi文档笔记

    Swagger可以自动生成Api说明文档,并内置在线测试,通过NSwagStudio还可以自动生成Api客户端调用代码,以下为具体实现步骤 1.写一个简单的WebApi并加上注释 public cla ...

  4. swagger-ui 系统配置过程(基于spring+springmvc+swagger+springfox配置 web-api 管理系统)

    web工程部分框架信息:spring springmvc swagger springfox maven 参考文档:https://www.cnblogs.com/exmyth/p/7183753.h ...

  5. 在WebApi中 集成 Swagger

    1. Swagger(俗称:丝袜哥)是什么东西? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同 ...

  6. WebApi 集成 Swagger

    1. Swagger(俗称:丝袜哥)是什么东西? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同 ...

  7. ASP.NET WebAPI使用Swagger生成测试文档

    ASP.NET WebAPI使用Swagger生成测试文档 SwaggerUI是一个简单的Restful API测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON配置显示API .项目 ...

  8. .NetCore WebApi——基于JWT的简单身份认证与授权(Swagger)

    上接:.NetCore WebApi——Swagger简单配置 任何项目都有权限这一关键部分.比如我们有许多接口.有的接口允许任何人访问,另有一些接口需要认证身份之后才可以访问:以保证重要数据不会泄露 ...

  9. .NetCore WebApi——Swagger简单配置

    在前后端分离的大环境下,API接口文档成为了前后端交流的一个重点.Swagger让开发人员摆脱了写接口文档的痛苦. 官方网址:https://swagger.io/ 在.Net Core WebApi ...

随机推荐

  1. 论文阅读(Xiang Bai——【CVPR2015】Symmetry-Based Text Line Detection in Natural Scenes)

    Xiang Bai--[CVPR2015]Symmetry-Based Text Line Detection in Natural Scenes 目录 作者和相关链接 方法概括 创新点和贡献 方法细 ...

  2. 【Arduino】旋转编码器的Arduino使用方法

    以前用CRT显示器的时候,调整显示器的时候用一个圆盘转动和点击的方法就可以实现选择菜单和修改设置项的值,比多个按钮的方式方便很多. 鼠标滚轮也是这种操作方法,旋转+点击,只是方向不同.最近在网上买了旋 ...

  3. uexQQ插件学习心得

    uexQQ插件学习心得 uexQQ插件的作用:通过qq可以分享图文,音乐,应用到相应的qq空间.支持手机客户端分享和手机webQQ分享.下面我们就来看一看他的一些方法. 我们先说一下分享的步骤,这个步 ...

  4. ABP dynamic API

    打开ABP的事例项目SimpleTaskSystem.WebSpaAngular 中LayoutView <!-- Dynamic scripts of ABP system (They are ...

  5. 【笔记】科普createDocumentFragment() 创建文档碎片节点

    上一篇文章说到了动态添加文本节点的方法那如果我们要添加多个文本节点或者元素节点呢? 大家可能会想到用循环然后逐个逐个添加 但是别忘了js 还提供了创建一个文本碎片的方法 createDocumentF ...

  6. java 使用 集合 制作学生管理系统

    以上是文件组织结构 下面是个.java的具体代码: package com.collection.students.pojo; public class Student { private Strin ...

  7. C#抽象方法和虚拟方法理解

    http://www.cnblogs.com/denylau/archive/2010/04/11/1709573.html http://www.cnblogs.com/naariah/archiv ...

  8. XML转换JSON的工具使用方法

    1.xml的文件,文件的内容如下: <?xml version="1.0" encoding="UTF-8" standalone="yes&q ...

  9. linux 中更改用户权限和用户组的命令chmod,chgrp实例

    linux 中更改用户权限和用户组的命令实例; 增加权限给当前用户 chmod +wx filename chmod -R 777 /upload 用户组 chgrp -R foldname zdz ...

  10. Flags-Ural1225简单递推

    Time limit: 1.0 second Memory limit: 64 MB On the Day of the Flag of Russia a shop-owner decided to ...