2013-09-26 3 views
4

Как я могу программно получить список общедоступных методов w/parameters, которые отображаются в моем проекте webAPI? Мне нужно предоставить этот список нашему отделу QA. Я не хочу самостоятельно составлять и поддерживать список. Я хочу предоставить ссылку на QA, чтобы найти методы самостоятельно. Мне нужно что-то вроде того, что вы получаете, когда просматриваете файл .asmx.Как получить методы, выставленные в проекте webAPI?

+0

Web API предоставляет HelpPage ... для получения дополнительной информации вы можете ознакомиться с этой статьей: http://blogs.msdn.com/b/yaohuang1/archive/2012/08/15/introducing-the-asp-net-web -api-help-page-preview.aspx –

+0

Обратите внимание, что вышеприведенное видео больше года, но оно все равно может дать вам полезную информацию. –

ответ

5

ASP.NET Web API позволяет создавать страницу справки автоматически. Эта страница поможет документировать все конечные точки, предоставленные вашим API. Пожалуйста, обратитесь к этому сообщению в блоге: Creating Help Pages for ASP.NET Web API.

Вы можете, конечно, создать полностью настраиваемую документацию, используя интерфейс IApiExplorer.

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

Я получил его от here

0

Вот цитата из Скотта Гу, который отвечает на ваш вопрос:

Web API Безразлично» t напрямую поддерживает WSDL или SOAP. Вы можете использовать поддержку WCF REST, если вы хотите использовать модель на основе WCF/WSDL для поддержки как SOAP, так и REST.

Ваш вопрос был задан вопрос и ответил здесь также: ASP.NET Web API interface (WSDL)

Надежда, что помогает.