一、创建一个空的WebApi站点

二、新增一个名为Test的API控制器,实现部分方法(方法和类要添加文档说明注释)

1. 添加一个用户数据模型UserInfo.cs,代码如下:

/// <summary>
/// 用户信息
/// </summary>
public class UserInfo
{
/// <summary>
/// 用户ID
/// </summary>
public int ID { get; set; }
/// <summary>
/// 用户名称
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 用户年龄
/// </summary>
public int Age { get; set; }
}

2. TestController.cs文件中的代码如下:(控制器中使用了用户数据模型,故要在控制器的顶部将用户数据模型的命名空间引用进来)

public class TestController : ApiController
{
/// <summary>
/// 添加用户
/// </summary>
/// <param name="model">实体</param>
/// <returns>返回提示信息</returns>
[HttpPost]
public string Add(UserInfo model)
{
return "添加成功";
} /// <summary>
/// 删除用户
/// </summary>
/// <param name="id">用户ID</param>
/// <returns>返回提示信息</returns>
public string Delete(int id)
{
return "删除成功";
} /// <summary>
/// 更新用户
/// </summary>
/// <param name="id">用户ID</param>
/// <returns>返回提示信息</returns>
public string Update(int id)
{
return "更新成功";
} /// <summary>
/// 获取用户列表
/// </summary>
/// <returns>返回用户列表集合</returns>
[HttpGet]
public List<UserInfo> Get()
{
List<UserInfo> list = new List<UserInfo>();
list.Add(new UserInfo { ID = , UserName = "小明", Age = });
list.Add(new UserInfo { ID = , UserName = "小红", Age = });
return list;
}
}

以上的类中都对类和方法以及属性添加了说明,使用文档注释///进行说明

3. 修改以下API路由

public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服务 // Web API 路由
config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute(
name: "DefaultApi",
//routeTemplate: "api/{controller}/{id}",
routeTemplate: "api/{controller}/{action}/{id}", //这里路由添加action项,具体的使用看项目
defaults: new { id = RouteParameter.Optional }
);
}
}

三、上面接口已经实现了,下面添加API帮助页

1. 在nuget中添加Microsoft.AspNet.WebApi.HelpPage

2.  安装完之后,工程文件中会多出一个Area的文件夹,文件夹下有一个HelpPage文件夹

3. 注册Area

打开Global.asax文件,在Application_Start方法中添加Area的注册

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing; namespace WebApiHelpPage
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); //注册Area
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
}

4.  设置输出XML文件,如:这里我的XML输入文件设置在App_Data文件夹下,命名为MyAPI.XML。(这个文件地址,在后面会涉及用到,需要注意)

右击工程文件》属性》生成》输出》XML文档文件

5. HelpPageConfig启用SetDocumentationProvider

在HelpPageConfig类的Register方法中,添加以下代码

config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/MyAPI.XML")));

6. 重新生成项目,在站点的域名后添加/help 就可以访问到api的帮助页了

四、调用API接口

在浏览器中输入 http://localhost:21764/api/test/get  就可以调用上面的获取用户列表的接口了。

Asp.net WebApi添加帮助文档的更多相关文章

  1. ASP.NET WebAPI 生成帮助文档与使用Swagger服务测试

    帮助HELP 要实现如WCF中的Help帮助文档,Web API 2 中已经支持很方便的实现了这一特性  http://www.asp.net/web-api/overview/creating-we ...

  2. asp.net webapi 生成在线文档--Swagger

    第一步:使用nuget包获取Swashbule.swagger.net.ui的包并安装. 安装成功后 打开App_Start->SwaggerNet.cs 注释掉一下两行 //[assembly ...

  3. 1.3为WebApi创建帮助文档

    当你创建一个网络 API 时,它很有用来创建一个帮助页,以便其他开发人员将知道如何调用您的 API.您可以创建的所有文档手动,但它是自动生成尽可能多地更好. 为了简化这一任务,ASP.NET Web ...

  4. 使用Swashbuckle.AspNetCore生成.NetCore WEBAPI的接口文档

    一.问题 使用Swashbuckle.AspNetCore生成.NetCore WEBAPI的接口文档的方法 二.解决方案 参考文章:https://docs.microsoft.com/zh-cn/ ...

  5. MongDb添加嵌套文档

         想添加嵌套文档,就需要创建2个实体类.如下图 usermodel.Student = student; 其中Student的类型就是StudentModel: 第一个实体类         ...

  6. asp.net如何实现word文档在线预览

    原文:asp.net如何实现word文档在线预览 实现方式:office文档转html,再在浏览器里面在线浏览 1.首先引入com组件中office库,然后在程序集扩展中引入word的dll 2.将M ...

  7. 将HTML字符转换为DOM节点并动态添加到文档中

    将HTML字符转换为DOM节点并动态添加到文档中 将字符串动态转换为DOM节点,在开发中经常遇到,尤其在模板引擎中更是不可或缺的技术. 字符串转换为DOM节点本身并不难,本篇文章主要涉及两个主题: 1 ...

  8. opencart 3添加pdf文档下载功能

    opencart 3适合做外贸商城,如果能在产品页那边添加pdf文档功能是最好的,符合国外用户的使用习惯,增加客户的黏性.其实opencart已经有一个downloadable product可下载产 ...

  9. 【教程】鼠标右键新建添加RTF文档

    鼠标右键新建添加RTF文档 今天想将空间日志作个本地备份,但是苦于找不到适合的文本工具,因为一般的文本编辑工具都不支持贴图. 虽然word就可以满足我们的需求,但文件格式不用doc而是rtf    而 ...

随机推荐

  1. javascript入门笔记9-认识DOM

    认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 将HTML代码分 ...

  2. base64位 解码图片

    jar包是commons-codec.jar. pnuts //base64解码成图片 function gldBase64ToImage(imgStr,imgFilePath) { // 对字节数组 ...

  3. 通过ip地址访问同一局域网下已经启动的angular项目

    通常tomcat启动的项目同一局域网下我们都可以访问.angular启动的前台项目别人怎么访问,一直不懂,后来知道启动命令加个参数就行了 首先查看本机ip 第二步,启动命令里加上--host 本机ip ...

  4. C++编程经验总结1

    面向对象的精髓: 主函数其实就是对于类的元素和动作的重新组合来进行一项活动. 一个思想概念:程设是清楚的,完美的. 数学是清楚的,是完美的. 物理是有趣的,尤其是量子物理 生物是清楚的,尤其是基因 外 ...

  5. Python 初始—(文件操作)

    文件修改,我们可以不用讲一个文件全部都进行读取,然后放入内存,如果文件过大,容易造成内存的 内存溢出问题 因此我们可以便读取边进行修改操作 f=open("old.txt",&qu ...

  6. lintcode_93_平衡二叉树

    平衡二叉树   描述 笔记 数据 评测 给定一个二叉树,确定它是高度平衡的.对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1. 您在真实的面试中是否遇到过 ...

  7. Linux Centos 通过虚拟用户访问FTP的配置

    Linux Centos 通过虚拟用户访问FTP的配置 实验需求: 让下面4个虚拟用户使用系统用户ftpvu的权限来连接到Linux FTP服务器,并确保都锁定在 自己的虚拟用户目录,不能切换到其他目 ...

  8. python实现简单分类knn算法

    原理:计算当前点(无label,一般为测试集)和其他每个点(有label,一般为训练集)的距离并升序排序,选取k个最小距离的点,根据这k个点对应的类别进行投票,票数最多的类别的即为该点所对应的类别.代 ...

  9. DSP资源分享贴

    DSP资源分享 [2017.5.16 更新] 分享资源共同学习.以前的资源很多人都说用不了了,我会陆续补充,逐步完善.这里不单单分享DSP的,设计基础的,还有其他的电子相关的比较好的资源吧主都和您分享 ...

  10. 词向量1.md

    词向量 我们以句子分类为例,我们使用深度学习模型对句子进行分类,本质上这个模型的接受的舒服需要是数值型.因为文字是人们抽象出来的一个概念,这个 东西是不能被计算机直接理解的,我们需要人为的将这个文字转 ...