版权声明:部分摘抄其他博主朋友的博文内容,旨在分享学习,如给您带来不便,请原谅。原文地址 http://www.cnblogs.com/yanweidie/p/5709113.html#_label3

最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口文档给前端开发人员或app开发人员,另外也方便后台开发人员自己测试。有两种方案,1.微软自带的Microsoft.AspNet.WebApi.HelpPage  2.swagger(戏称为丝袜哥)。推荐后者,测试方便。

一、swagger使用步骤

 1.创建webapi项目解决方案

2. nugget——安装swashbuckle和swashbuckle.core

3、编写apicontrolleraction

注意书写action的注释。敲“///”快捷键,自动生成summary 注释,填写1action注释说明,2处参数说明

 

效果如下 1controller名称 2action说明 3action路由,4为参数 5为参数注释说明

4 项目——属性——生成——勾选生成xml文档文件

修改SwaggerConfig文件

1、类上面有这句[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]

2、

4、将开源代码Swagger文件夹整体拷到项目中

5、配置完成后启动程序http://localhost:10889/Swagger/dist/index.html则呈现接口文档效果

二、swagger使用效果

1.列出所有API控制器和控制器描述

2.列出action和描述

3.直观的接口测试

三、demo代码,见SwaggerWebapiDemo

四、程序发布后查看swagger文档时报500错误,解决方法http://localhost:10889/Swagger/dist/index.html

1、出现这个原因基本是这种情况。发布的程序遗漏了swagger的xml文档。通过项目——属性——生成——生成xml文档文件 查看xml文档地址。复制拷贝到iis对应的文件夹里即可解决

五、程序发布到文件夹或者一键部署到web服务器上,可能会出现遗漏掉xml文件。

则需要设置项目属性——生成时注意1处选择release,下面选生成xml文件。因为发布时选择的配置也是release

webapi swagger学习笔记的更多相关文章

  1. Swagger学习笔记

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! Swagger学习笔记 课程目标 了解Swagger的概念及作用 掌握在项目中集成Swagger ...

  2. Visual Studio 2015 Owin+MVC+WebAPI+ODataV4+EntityFrawork+Identity+Oauth2.0+AngularJS 1.x 学习笔记

    2016年,.net 会有很多大更新 ASP.NET 5 在此之前我都是用着古老的.net做开发的 (WebForm + IIS) 为了接下来应对 .net 的新功能,我特地去学习了一下基本的 MVC ...

  3. Asp.Net Core WebApi学习笔记(四)-- Middleware

    Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Mid ...

  4. golang学习笔记7 使用beego swagger 实现API自动化文档

    golang学习笔记7 使用beego swagger 实现API自动化文档 API 自动化文档 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/doc ...

  5. ASP.NET Core 2 学习笔记(十三)Swagger

    Swagger也算是行之有年的API文件生成器,只要在API上使用C#的<summary />文件注解标签,就可以产生精美的线上文件,并且对RESTful API有良好的支持.不仅支持生成 ...

  6. 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换

    路由其实也可以很简单-------Asp.net WebAPI学习笔记(一)   MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中, ...

  7. SpringBoot学习笔记:Swagger实现文档管理

    SpringBoot学习笔记:Swagger实现文档管理 Swagger Swagger是一个规范且完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.Swagger的目标是对RE ...

  8. Angularjs2 学习笔记

    angularjs2 学习笔记(一) 开发环境搭建   开发环境,vs2013 update 5,win7 x64,目前最新angular2版本为beta 17 第一步:安装node.js 安装nod ...

  9. ASP.NET MVC Web API 学习笔记---第一个Web API程序

    http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...

随机推荐

  1. Sencha Touch 实战开发培训 视频教程 第二期 第六节

    2014.4.18 晚上8:20左右开课. 本节课耗时没有超出一个小时. 本期培训一共八节,前两节免费,后面的课程需要付费才可以观看. 本节内容: 图片展示 利用list展示图片: 扩展Carouse ...

  2. sencha touch 隐藏滚动条样式的几种方式

    如图,当滚动条显示时不是那么的好看   可以通过以下几种方式来隐藏滚动条,而又不影响滚动效果 1.通过css隐藏 /* 隐藏x方向滚动条 */ .x-scroll-bar-x.active { wid ...

  3. linux strace 命令详解

    简介 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核 ...

  4. Android7.0 PowerManagerService 之亮灭屏(二) PMS 电源状态管理updatePowerStateLocked()

    本篇注意接着上篇[Android7.0 PowerManagerService 之亮灭屏(一)]继续分析量灭屏的流程,这篇主要分析PMS的状态计算和更新流程,也是PMS中最为重要和复杂的一部分电源状态 ...

  5. Artech的MVC4框架学习——第七章Action的执行

    概况:Action的执行不仅包含action方法的执行,还包含相关筛选器的执行. 第一基于线程池的请求,http请求称谓工作线程(p321),基于线程池优势:工作线程重用和工作线程数量的限制. 第二两 ...

  6. vue---指令怎么写

    我们在考虑做一些功能性的封装的时候,我们会考虑使用vue的指令来做,那么指令应该怎么写: 具体参考: https://cn.vuejs.org/v2/guide/custom-directive.ht ...

  7. Python 基础知识(二)

    一.基础数据类型 1.数字int 数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以: #bit_length() 当十进制用二进制表示时,最少使用的位数 # -*- coding:UTF- ...

  8. 求全排列Permutation

    是在教材(<计算机算法设计与分析(第4版)>王晓东 编著)上看见的关于求全排列的算法: 我们可以看一下书上怎么写的: #include<bits/stdc++.h> using ...

  9. sql两列相除,保留n位小数

    ), ) from tablename 以上代码意思两列相处,然后保留4位小数.

  10. http_build_query

    http_build_query (PHP 5) http_build_query -- 生成 url-encoded 之后的请求字符串描述string http_build_query ( arra ...