C# Web API 的文档化

3

我需要动态生成一些WEB-API的帮助文档,但问题在于输入参数和输出结构都是动态的。

请参考以下示例:

[HttpGet]
[Route("API/Individuals")]
[ActionName("Individuals")]
public HttpResponseMessage Select()
{
     var Params = this.Request.RequestUri.ParseQueryString();
     string UserNameCVT = Code.RemappingUser.Remap(UserName.Name);
     DataSet ds = Models.Individuals.Individuals.SelectDS(UserNameCVT, Params);
     List<Dictionary<string, object>> lDict = DecodeIndividualsFromDS(ds);

     response = Request.CreateResponse(HttpStatusCode.OK, lDict);
     return response;
}

通过这样做,API可以将其与下面的FE DB解耦,使它们可以根据自己的需要修改数据结构。
一旦定义了结构(无需更改API代码),是否可以生成完整的帮助文档?
1个回答

1

是的,你可以。XML文档提供程序中的关键代码行是这个(来自入门页面):

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

如您所见,文档是从文件路径中读取的。如果您可以在应用程序启动时动态创建该文件,然后传入文件路径,那么您就可以了解到这一点。(您必须找到一种处理这些端点的动态方式,但这不在本问题的范围内)
此外,如果您需要执行更多操作,您可以通过从Github获取XmlDocumentationProvider并编写自己的实现来创建自定义实现。

谢谢你的回答。我的问题现在是如何动态创建文档文件。我看到有不同的属性,但我找不到好的文档/示例。 - Davide Vignali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接