5

如何以编程方式获取我的 webAPI 项目中公开的带有参数的公共方法列表?我需要将此列表提供给我们的 QA 部门。我不想自己编译和维护列表。我想为 QA 提供一个链接,让他们自行查找方法。当您浏览到 .asmx 文件时,我需要一些类似的东西。

4

3 回答 3

7

ASP.NET Web API 允许您自动创建帮助页面。该帮助页面记录了您的 API 提供的所有端点。请参阅此博客文章:为 ASP.NET Web API 创建帮助页面

当然,您可以利用该IApiExplorer界面创建完全自定义的文档。

于 2013-09-26T22:09:46.647 回答
0

你可以尝试这样的事情:

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);
        }
    }

我从这里得到的

于 2013-09-26T21:10:13.643 回答
0

这是 Scott Gu 的一句话,回答了你的问题:

Web API 不直接支持 WSDL 或 SOAP。如果您想使用基于 WCF/WSDL 的模型来支持 SOAP 和 REST,则可以使用 WCF REST 支持。

您的问题也在这里被问及回答: ASP.NET Web API interface (WSDL)

希望有帮助。

于 2013-09-26T21:10:37.650 回答