WebApi集成Swagger

1.新建一个WebApi空项目

2.新建一个Person实体类:

public class Person
{
public int ID { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}

3.新建一个PersonAPI控制器(PersonController)

public class PersonController : ApiController
{
/// <summary>
/// 根据ID获取单个人的详细信息
/// </summary>
/// <param name="id">人员ID</param>
/// <returns></returns>
[HttpGet, Route("person/GetPerson")]
public Person GetPerson(int id)
{
return new Person { ID = id, UserName = "张三", Password = "admin888" };
}
/// <summary>
/// 获取人员列表信息
/// </summary>
/// <returns></returns>
[HttpGet, Route("person/GetPersons")]
public List<Person> GetPersons()
{
List<Person> list = new List<Person> {
new Person{ ID = 3, UserName = "张三", Password = "admin888"},
new Person{ ID = 4, UserName = "李四", Password = "admin888"},
new Person{ ID = 5, UserName = "王五", Password = "admin888"},
new Person{ ID = 6, UserName = "小七", Password = "admin888"}
};
return list;
} /// <summary>
/// 添加人员
/// </summary>
/// <param name="product"></param>
/// <returns></returns>
[HttpPost, Route("person/add")]
public int AddProduct(Person person)
{
throw new NotImplementedException();
} /// <summary>
/// 更新删除人员
/// </summary>
/// <param name="personId"></param>
/// <param name="person"></param>
[HttpPost, Route("person/update")]
public void UpdatePerson(int personId, Person person)
{
throw new NotImplementedException();
} /// <summary>
/// 删除人员
/// </summary>
/// <param name="personId"></param>
[HttpDelete, Route("product/delete")]
public void DeletePerson(int personId)
{
throw new NotImplementedException();
}
}

4.通过NuGet程序包安装swashbuckle程序包

5.安装后App_Start目录下会生成一个SwaggerConfig.cs文件,修改此文件:

取消c.IncludeXmlComments(GetXmlCommentsPath())的注释,同时添加GetXmlCommentsPath函数

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

其中"XXX.xml"为"你的项目名.xml"
6.右键项目-属性-生成,勾选"xml文档文件"

7.好了,生成好之后通过http://主机/swagger/ui/index#/ 地址就可以访问了

http://www.cnblogs.com/myindex/p/5464909.html

Web Api集成Swagger的更多相关文章

  1. asp.net core web api 生成 swagger 文档

    asp.net core web api 生成 swagger 文档 Intro 在前后端分离的开发模式下,文档就显得比较重要,哪个接口要传哪些参数,如果一两个接口还好,口头上直接沟通好就可以了,如果 ...

  2. Asp.Net Core Web Api 使用 Swagger 生成 api 说明文档

    最近使用 Asp.Net Core Web Api 开发项目服务端.Swagger 是最受欢迎的 REST APIs 文档生成工具之一,进入我的视野.以下为学习应用情况的整理. 一.Swagger 介 ...

  3. SimpleInjector与MVC4集成,与Web Api集成,以及通过属性注入演示

    SimpleInjector与MVC4集成,与Web Api集成,以及通过属性注入演示   1,与MVC集成 见http://simpleinjector.codeplex.com/wikipage? ...

  4. ASP.NET Web API 使用Swagger

    ASP.NET Web API 使用Swagger使用笔记   最近换了工作,其中Webapi这块没有文档,之前有了解过Swagger借此机会好好整理下常用的地方分享给有需要的小伙伴. 概述: 1.s ...

  5. Asp.Net MVC Web API 中Swagger教程,使用Swagger创建Web API帮助文件

    什么是Swagger? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法 ...

  6. ASP.NET Web API 使用Swagger生成在线帮助测试文档,支持多个GET

    以下为教程: 在现有webapi项目中,nuget安装以下两个插件 swagger.net.ui swashbuckle 安装完毕后可以卸载Swagger.NET,此处不需要! 安装完毕后屏蔽以下代码 ...

  7. asp.net core Api集成Swagger

    当我们通过vs创建了一个api项目后,便可以开始集成swagger了 一.Swagger集成 从“程序包管理器控制台”窗口进行安装,执行Install-Package Swashbuckle.AspN ...

  8. Web API集成Azure AD认证

    1.声明的介绍 基于角色的授权管理,适用于角色变化不大,并且用户权限不会频繁更改的场景. 在更复杂的环境下,仅仅通过给用户分配角色并不能有效地控制用户访问权限. 基于声明的授权有许多好处,它使认证和授 ...

  9. ASP.NET Web API 使用Swagger生成在线帮助测试文档

    Swagger-UI简单而一目了然.它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具.项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,sw ...

随机推荐

  1. Android项目实战手机安全卫士(01)

    目录 项目结构图 源代码 运行结果 项目结构图 源代码 SplashActivity.java package com.coderdream.mobilesafe.activity; import a ...

  2. NOI08冬令营 数据结构的提炼与压缩

    无聊随手翻,翻到了一个这样的好东西--据结构的提炼与压缩: 为了防止以后忘记,这里把论文里的题目都纪录一下吧. 1.二维结构的化简 问题一:ural 1568 Train car sorting 定义 ...

  3. Java基础12 类型转换与多态

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/01/2992662.html 作者:Vamei 出处:http://www.cnblogs.com ...

  4. perl 类里的函数调用其他类的函数

    perl 类里的函数调用其他类的函数: package Horse; use base qw(Critter); sub new { my $invocant = shift; my $class = ...

  5. 基于visual Studio2013解决面试题之1201链表去重

     题目

  6. JCL学习

    JCL基本概念 定义:job control language 用户与操作系统的接口,用户通过JCL语句按照自己的意图来控制作业的执行. JOB的概念:把大机要实现的每一项任务,称为一个JOB或作业. ...

  7. 二维码闪电登录流程详解,附demo(2/2)

    上篇文章,我们重点介绍了一下二维码登录的流程,以及每个“角色”要做的事情,下面我们重点分析TV角色所做的工作. TV主要完成二维码图片显示,以及websocket请求.下面重点说一下这两点. 1. B ...

  8. 禁止页面复制功能 js禁止复制 禁用页面右键菜单

    <body oncontextmenu="return false">禁用网页右键菜单,但是仍然可以使用快捷键复制. js代码禁用复制功能: <script  t ...

  9. 【学习opencv第七篇】图像的阈值化

    图像阈值化的基本思想是,给定一个数组和一个阈值,然后根据数组中每个元素是低于还是高于阈值而进行一些处理. cvThreshold()函数如下: double cvThreshold( CvArr* s ...

  10. 使用hadoop ecipse插件须要注意的问题

    1.关于run on hadoop的问题: 在未用hadoop eclipse插件前,我以为通过hadoop eclipse 插件不但能够管理hdfs,还能够自己主动打包程序.并帮我自己主动设置Con ...