如何在 WebAPI 项目中公开方法
本文关键字:方法 项目 WebAPI | 更新日期: 2023-09-27 18:33:07
如何以编程方式获取 webAPI 项目中公开的带有参数的公共方法列表? 我需要将此列表提供给我们的 QA 部门。 我不想自己编译和维护列表。我想为QA提供一个链接,以便自行查找方法。 我需要类似您浏览 .asmx 文件时得到的东西。
ASP.NET Web API 允许您自动创建帮助页面。该帮助页面记录了 API 提供的所有终结点。请参阅此博客文章:为 ASP.NET Web API 创建帮助页面。
当然,您可以通过利用IApiExplorer
界面创建完全自定义的文档。
以下是Scott Gu的一句话,可以回答你的问题:
Web API 不直接支持 WSDL 或 SOAP。 但是,如果要使用基于 WCF/WSDL 的模型来支持 SOAP 和 REST,则可以使用 WCF REST 支持。
您的问题也在这里提出并回答:ASP.NET Web API 接口 (WSDL)
希望有帮助。
你可以尝试这样的事情:
public static void Main()
{
Type myType =(typeof(MyTypeClass));
// Get the public methods.
MethodInfo[] myArrayMethodInfo = myType.GetMethods(BindingFlags.Public|BindingFlags.Instance|BindingFlags.DeclaredOnly);
Console.WriteLine("'nThe number of public methods is {0}.", myArrayMethodInfo.Length);
// Display all the methods.
DisplayMethodInfo(myArrayMethodInfo);
// Get the nonpublic methods.
MethodInfo[] myArrayMethodInfo1 = myType.GetMethods(BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.DeclaredOnly);
Console.WriteLine("'nThe number of protected methods is {0}.", myArrayMethodInfo1.Length);
// Display information for all methods.
DisplayMethodInfo(myArrayMethodInfo1);
}
public static void DisplayMethodInfo(MethodInfo[] myArrayMethodInfo)
{
// Display information for all methods.
for(int i=0;i<myArrayMethodInfo.Length;i++)
{
MethodInfo myMethodInfo = (MethodInfo)myArrayMethodInfo[i];
Console.WriteLine("'nThe name of the method is {0}.", myMethodInfo.Name);
}
}
我从这里得到它