webapi swagger学习笔记
版权声明:部分摘抄其他博主朋友的博文内容,旨在分享学习,如给您带来不便,请原谅。原文地址 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、编写apicontroller及action。
注意书写action的注释。敲“///”快捷键,自动生成summary 注释,填写1处action注释说明,2处参数说明

效果如下 1为controller名称 2为action说明 3为action路由,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学习笔记的更多相关文章
- Swagger学习笔记
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! Swagger学习笔记 课程目标 了解Swagger的概念及作用 掌握在项目中集成Swagger ...
- Visual Studio 2015 Owin+MVC+WebAPI+ODataV4+EntityFrawork+Identity+Oauth2.0+AngularJS 1.x 学习笔记
2016年,.net 会有很多大更新 ASP.NET 5 在此之前我都是用着古老的.net做开发的 (WebForm + IIS) 为了接下来应对 .net 的新功能,我特地去学习了一下基本的 MVC ...
- Asp.Net Core WebApi学习笔记(四)-- Middleware
Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Mid ...
- golang学习笔记7 使用beego swagger 实现API自动化文档
golang学习笔记7 使用beego swagger 实现API自动化文档 API 自动化文档 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/doc ...
- ASP.NET Core 2 学习笔记(十三)Swagger
Swagger也算是行之有年的API文件生成器,只要在API上使用C#的<summary />文件注解标签,就可以产生精美的线上文件,并且对RESTful API有良好的支持.不仅支持生成 ...
- 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换
路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中, ...
- SpringBoot学习笔记:Swagger实现文档管理
SpringBoot学习笔记:Swagger实现文档管理 Swagger Swagger是一个规范且完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.Swagger的目标是对RE ...
- Angularjs2 学习笔记
angularjs2 学习笔记(一) 开发环境搭建 开发环境,vs2013 update 5,win7 x64,目前最新angular2版本为beta 17 第一步:安装node.js 安装nod ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
随机推荐
- Mysql On Mac OS: Remove & Install
If you downloaded and installed from .dmg package already, and mightbe sometime it sucks because of ...
- 【BZOJ2310】ParkII 插头DP
[BZOJ2310]ParkII Description Hnoi2007-Day1有一道题目 Park:给你一个 m * n 的矩阵,每个矩阵内有个权值V(i,j) (可能为负数),要求找一条回路, ...
- Android系统dimension单位详解
转载请注明出处,谢谢!http://www.cnblogs.com/coding-way/p/3457878.html Android设备种类多样,要想适配好各种屏幕,理解各种屏幕数据是必须的.首先先 ...
- vue--提取公共方法
在做一个项目的时候,一些组件内公用的方法可以单独提取出来做复用: 参考:https://www.jb51.net/article/115662.htm 简单示例: 代码: const config = ...
- thinkphp结合layui上传视频
JS示例: <script type="text/javascript"> layui.use(['form', 'layedit','element', 'layda ...
- 美团店铺评价语言处理以及文本分类(logistic regression)
美团店铺评价语言处理以及分类(LogisticRegression) 第一篇 数据清洗与分析部分 第二篇 可视化部分, 第三篇 朴素贝叶斯文本分类 本文是该系列的第四篇 主要讨论逻辑回归分类算法的参数 ...
- iOS 截屏分享(包含状态栏与不包含状态栏)
iOS8以上的新方法PhotoKit 监听截图相册变化,取最后一张图片:http://www.hangge.com/blog/cache/detail_1515.html PhotoKit 获取本机相 ...
- UI自动化--PageObjects(页面对象)
核心的核心:减少了重复代码的数量,减少变更涉及面:做到如果UI发生更改,则只需在一个位置应用此修复程序. PageObject:将页面作为一个对象,进行封装,包括元素定位,封装获取各元素.操作的方法: ...
- remove unusable kernel in linux.
dpkg --get-selections | grep linux-image 1933 sudo apt-get remove linux-image-extra-4.4.0-57-generi ...
- CSS布局与定位——height百分比设置无效/背景色不显示
CSS布局与定位——height百分比设置无效/背景色不显示 html元素属性width和height的值有两种表达方式,一是固定像素如“100px”,一是百分比如“80%”, 使用百分比的好处是元素 ...