Web Api帮助页面或用户手册

时间:2023-01-11 15:07:10
 

前言

  你需要为客户编写Api调用手册?你需要测试你的Api接口?你需要和前端进行接口对接?那么这篇文章应该可以帮到你。本文将介绍创建Web Api 帮助文档页面的两种方式,Microsoft Help Page和Swashbuckle Help Page。

编写RESTful的Web Api

 

Microsoft Help Page

1.在Nuget添加Help Page组件。

  Web Api帮助页面或用户手册

  组件添加完后,会自动生成帮助页面,文件存在区域(Areas)中

  Web Api帮助页面或用户手册

2.注册区域(Areas)

  在Global.asax文件中的Application_Start()方法添加以下代码:

  AreaRegistration.RegisterAllAreas();

  Web Api帮助页面或用户手册

  浏览生成的帮助页面:http://localhost:xxxx/help

  Web Api帮助页面或用户手册

  Web API的方法列表已经显示出来了,但是方法的描述还是默认的描述。

3. 修改配置文件生成位置
  右键项目属性,指定输出xml。

  Web Api帮助页面或用户手册

  修改Areas\HelpPage\App_Start\HelpPageConfig.cs中register方法里指定的xml路径为上述指定输出的路径。

  Web Api帮助页面或用户手册

  

  再查看帮助页面,方法描述已经和代码注释一致。

  Web Api帮助页面或用户手册

  注:这里可根据需要把Area中对应页面的英文词条更新成中文,当然样式也可以调整。

4.添加测试工具

  在Nuget添加Test Client组件。

  Web Api帮助页面或用户手册

  在Areas\HelpPage\Views\Help\Api.cshtml添加以下代码:

  @Html.DisplayForModel("TestClientDialogs")

  @section Scripts {

  <link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />

  @Html.DisplayForModel("TestClientReferences")

  }

  Web Api帮助页面或用户手册

  再次运行Help Page,每个API说明页面的右下角会多一个测试的按钮。

Web Api帮助页面或用户手册

4.参考

  http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/creating-api-help-pages

Swashbuckle Help Page

1.在Nuget添加Swashbuckle组件。

Web Api帮助页面或用户手册

  然后就可以浏览生成的帮助页面:http://localhost:xxxx/swagger

  Web Api帮助页面或用户手册

  Web API的方法列表已经显示出来了,但是方法的描述还没有显示出来。

2. 修改配置文件生成位置
  右键项目属性,指定输出xml。

  Web Api帮助页面或用户手册

  找到SwaggerConfig.cs

  Web Api帮助页面或用户手册

  把 c.IncludeXmlComments(GetXmlCommentsPath())的注释去掉

  Web Api帮助页面或用户手册

  实现GetXmlCommentsPath()方法,指定xml路径为上述指定输出的路径。

  Web Api帮助页面或用户手册

  再查看帮助页面,方法描述已经和代码注释一致。

  Web Api帮助页面或用户手册

2. 常见异常

  用Nuget引用dll的时候,它会在config中添加依赖项信息,但偶尔会没添加,这时会出现Could not load file or assembly 'XXX' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)异常。

Web Api帮助页面或用户手册

  此时只要在config中添加对应的依赖项就好

  Web Api帮助页面或用户手册

4.帮助页面词条及样式调整

  如果要修改或编辑Swashbuckle Help Page的样式或词条,需要编辑SwaggerConfig.cs,相对Microsoft Help Page可能要复杂一点(我只改过Microsoft的,没改过Swashbuckle的)。具体如何修改可参考:https://github.com/domaindrivendev/Swashbuckle

简单总结

  Swashbuckle Help Page搭建起来相对会比较简单,但是样式(自带swagger logo)和词条修改会较麻烦一点,因此,比较适合作为内部接口说明几接口调用测试。

  Microsoft Help Page搭建起来相对要麻烦一点点,但是样式和词条修改会方便一点,因此,比较适合作为外部接口调用使用文档。

源码下载

  https://github.com/ErikXu/WebApi.HelpPage

 
分类: ASP.NET Web API

Web Api帮助页面或用户手册的更多相关文章

  1. 【ASP&period;NET Web API教程】2&period;4 创建Web API的帮助页面

    原文:[ASP.NET Web API教程]2.4 创建Web API的帮助页面 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 2.4 ...

  2. 【ASP&period;NET Web API教程】2&period;4 创建Web API的帮助页面&lbrack;转&rsqb;

    注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 2.4 Creating a Help Page for a Web API2.4 创建W ...

  3. ASP&period;NET Web API系列教程目录

    ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ...

  4. 【ASP&period;NET Web API教程】2 创建各种Web API

    原文 [ASP.NET Web API教程]2 创建各种Web API Chapter 2: Creating Web APIs第2章 创建各种Web API 本文引自:http://www.asp. ...

  5. Web API 2

    Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]   前言 本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api.出于自己想锻炼一下学 ...

  6. ASP&period;NET Web API系列教程(目录)&lpar;转&rpar;

    注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP.NET Web API.这是一个用来在.NET平台上建立HTTP服务的Web API框架,是微软的又一项令人振奋的技术.目前,国内 ...

  7. 创建 ASP&period;NET Web API的Help Page

    转:创建WEBAPI项目 转:添加测试API中的ASP.NET Web API帮助页面

  8. &lbrack;转&rsqb;ASP&period;NET Web API系列教程(目录)

    本文转自:http://www.cnblogs.com/r01cn/archive/2012/11/11/2765432.html 注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP ...

  9. 我这么玩Web Api(一):帮助页面或用户手册&lpar;Microsoft and Swashbuckle Help Page&rpar;

    前言 你需要为客户编写Api调用手册?你需要测试你的Api接口?你需要和前端进行接口对接?那么这篇文章应该可以帮到你.本文将介绍创建Web Api 帮助文档页面的两种方式,Microsoft Help ...

随机推荐

  1. 一道面试题与Java位操作 和 BitSet 库的使用

    前一段时间在网上看到这样一道面试题: 有个老的手机短信程序,由于当时的手机CPU,内存都很烂.所以这个短信程序只能记住256条短信,多了就删了. 每个短信有个唯一的ID,在0到255之间.当然用户可能 ...

  2. leetcode-Consecutive numbers

    Write a SQL query to find all numbers that appear at least three times consecutively. +----+-----+ | ...

  3. 1028阿里RDS如何恢复云数据库MySQL的备份文件到自建数据库

    参照 https://help.aliyun.com/knowledge_detail/41817.html 恢复云数据库MySQL的备份文件到自建数据库 更新时间:2017-07-27 14:52: ...

  4. django&plus;mysql的使用

    Django中每一个模型model都对应于数据库中的一张表,每个模型中的字段都对应于数据库表的列.方便的是,django可以自动生成这些create table, alter table, drop ...

  5. Leetcode 8 Two Pointers

    Two Pointers 1. 28. Implement strStr() 用 i 记录haystack偏移量,j 记录 needle 的偏移量. class Solution { public i ...

  6. 动态的加载显示oracle警告日志文件内容

    Last login: Fri Jan 25 00:37:47 2019 from oracle [root@oracle ~]# su - oracle [oracle@oracle ~]$ sql ...

  7. Mysql 数据库常用配置命令

    1.查看mysql数据库默认编码: mysql> show variables like "character%"; +--------------------------+ ...

  8. &lbrack;P1329&rsqb; 数列

    设F[i,j]为长度为i是,前缀和为j的方案数. [转移] F[i,j] => F[i+1,j+i] F[i,j] => F[i+1,j-i] [原理] 由于A[0]=0,所以有A[1]= ...

  9. duilib进阶教程 -- Label控件的bug &lpar;8&rpar;

    上个教程说到了TreeView的文字不能垂直居中的问题,而我们用LabelUI其实是可以垂直居中的,为什么不说是TreeView的bug,而说是Label控件的bug呢?因为影响TreeView垂直居 ...

  10. 构建API

    前言 过程,如图: 第一步创建一个帮助类,类里面提供了加密.组装Url等方法,代码如下: using System; using System.Collections.Generic; using S ...