版权声明:部分摘抄其他博主朋友的博文内容,旨在分享学习,如给您带来不便,请原谅。原文地址 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. 基于spring-cloud的微服务(2) eureka服务提供方的注册和消费方的消费

    启动Eureka注册中心之后,服务提供方就可以注册到Eureka上去(作为一个Eureka的客户端) 我们使用IDEA提供的spring initializer来新建一个springcloud项目 填 ...

  2. 生产环境的gitlab大版本升级思路(从7.x升级到8.x)

    之前在生产环境部署的gitlab是7.x版本的,提供给公司内部的员工来使用,大概有350个用户左右,gitlab从8.x版本之后内置了CI和CD的集成,所以就考虑到升级版本的问题 通过参考和总结git ...

  3. matlab中 数据保留有效位数

    可以使用round函数  ,这函数原本功能是四舍五入 比如: >> A = 0.0326465;>> B = round(A*1000)/1000 B = 0.0330

  4. linux文件归档脚本

    #!/bin/bash range= dir="/app/xx/logs" bak_dir="/app/xx/logs_archive" cd $dir $ra ...

  5. Pyqt图标下载网站

    下载地址: https://www.easyicon.net/ 1.程序中图标建议使用32x32的PNG格式. 2.pyinstaller打包中图标建议使用32x32的ICO格式.

  6. 转Python SciPy库——拟合与插值

    1.最小二乘拟合 实例1 import numpy as np import matplotlib.pyplot as plt from scipy.optimize import leastsq p ...

  7. Css 中的 block,inline和inline-block概念和区别

    1.block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通常被现 ...

  8. numpy的文件存储 .npy .npz 文件

    1)Numpy能够读写磁盘上的文本数据或二进制数据.将数组以二进制格式保存到磁盘np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 ...

  9. disk_free_space

    $df = disk_free_space('/')/1024/1024/1024; $df_c = disk_free_space("c:"); $df_d = disk_fre ...

  10. 币安Binance API

    本文介绍币安Binance API General API Information The base endpoint is: https://api.binance.com All endpoint ...