在开发 ASP.NET WebApi 时,经常需要自测接口或供前端临时调试。Postman、Fiddler 固然强大,但来回切换环境、拼装请求也挺烦的。WebApiTestClient 这个 NuGet 包可以直接把测试页面嵌入项目,通过浏览器就能调,不用额外安装任何东西。
它的好处总结下来就几点:零依赖集成在项目里;支持自定义 HTTP 方法、请求头和请求体;响应状态码、响应头、响应体即时显示;前端同学也能直接打开 Help Page 去调接口,联调成本低一些。
不过要让它工作,配置过程有几个坑点,这里记录一下。
1. 安装包
在 VS 里打开 WebApi 项目,NuGet 搜索 WebApiTestClient 安装就行。装完之后,项目里会多出这几个文件:
Scripts\WebApiTestClient.jsAreas\HelpPage\TestClient.cssAreas\HelpPage\Views\Help\DisplayTemplates\TestClientDialogs.cshtmlAreas\HelpPage\Views\Help\DisplayTemplates\TestClientReferences.cshtml
2. 修改帮助页面视图
找到 Areas\HelpPage\Views\Help\Api.cshtml,在末尾把测试对话框和引用模板渲染出来。我的做法是在原有内容下面加上:
@Html.DisplayForModel("TestClientDialogs")
@section Scripts{
<link href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
@Html.DisplayForModel("TestClientReferences")
}
如果你项目里的 Api.cshtml 本身就有 @section Scripts 块,直接把这两行合并进去就行。
原来的文件大概长这样(不同模板可能有差别):
@using System.Web.Http
@using WebApiDemo.Areas.HelpPage.Models
@model HelpPageApiModel
@{ var description = Model.ApiDescription; ViewBag.Title = description.HttpMethod.Method + " " + description.RelativePath; }
<link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
<div>
<section>
<div> <p> @Html.ActionLink("Help Page Home", "Index") </p> </div> </section>
<section> @Html.DisplayForModel() </section> </div>
加上测试相关部分后,页面底部就会多出测试按钮。
3. 配好 XML 文档注释
想让接口列表自动显示你在代码里写的 /// <summary> 注释,需要把 XML 文档生成打开。右键项目 → 属性 → 生成 → 勾选'XML 文档文件',路径默认是 App_Data\项目名.xml。
然后打开 Areas/HelpPage/HelpPageConfig.cs,在 Register 方法里把那个被注释掉的 SetDocumentationProvider 打开,并把路径改成你自己的:
config.SetDocumentationProvider(
new XmlDocumentationProvider(
HttpContext.Current.Server.MapPath("~/App_Data/WebApiDemo.xml")
)
);
原文件里有很多注释,大部分是示例,不动也没事。关键是确保上面这行是生效的。完整的 HelpPageConfig.cs 可以参考:






