Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento kurz s kódem ukazuje, jak vytvořit stránky nápovědy pro webové rozhraní API ASP.NET v ASP.NET 4.x.
Při vytváření webového rozhraní API je často užitečné vytvořit stránku nápovědy, aby ostatní vývojáři věděli, jak volat vaše rozhraní API. Veškerou dokumentaci můžete vytvořit ručně, ale je lepší automaticky vygenerovat co nejvíce. Pro usnadnění tohoto úkolu poskytuje webové rozhraní API ASP.NET knihovnu pro automatické generování stránek nápovědy za běhu.
Vytváření stránek nápovědy rozhraní API
Nainstalujte aktualizaci ASP.NET a webových nástrojů 2012.2. Tato aktualizace integruje stránky nápovědy do šablony projektu webového rozhraní API.
Dále vytvořte nový projekt ASP.NET MVC 4 a vyberte šablonu projektu webového rozhraní API. Šablona projektu vytvoří ukázkový kontroler rozhraní API s názvem ValuesController. Šablona také vytvoří stránky nápovědy k rozhraní API. Všechny soubory kódu na stránce nápovědy jsou umístěny ve složce Oblasti projektu.
Při spuštění aplikace obsahuje domovská stránka odkaz na stránku nápovědy rozhraní API. Výchozí relativní cesta z domovské stránky je /Help.
Tento odkaz vás přenese na stránku se souhrnem rozhraní API.
Zobrazení MVC pro tuto stránku je definováno v Areas/HelpPage/Views/Help/Index.cshtml. Na této stránce můžete upravit rozložení, úvod, název, styly atd.
Hlavní částí stránky je tabulka rozhraní API seskupených podle kontroleru. Položky tabulky se generují dynamicky pomocí rozhraní IApiExplorer . (O tomto rozhraní budu mluvit později.) Pokud přidáte nový kontroler rozhraní API, tabulka se automaticky aktualizuje za běhu.
Sloupec "API" uvádí metodu HTTP a relativní identifikátor URI. Sloupec Popis obsahuje dokumentaci pro každé rozhraní API. Na začátku je dokumentace jenom zástupný text. V další části vám ukážeme, jak přidat dokumentaci z komentářů XML.
Každé rozhraní API obsahuje odkaz na stránku s podrobnějšími informacemi, včetně ukázkových subjektů požadavků a odpovědí.
Přidání stránek nápovědy do existujícího projektu
Stránky nápovědy můžete přidat do existujícího projektu webového rozhraní API pomocí Správce balíčků NuGet. Tato možnost je užitečná, když začínáte z jiné šablony projektu než ze šablony Webové rozhraní API.
V nabídce Nástroje vyberte Správce balíčků NuGet a pak vyberte konzolu Správce balíčků. V okně konzoly Správce balíčků zadejte jeden z následujících příkazů:
Pro aplikaci jazyka C# : Install-Package Microsoft.AspNet.WebApi.HelpPage
Pro aplikaci v jazyce Visual Basic : Install-Package Microsoft.AspNet.WebApi.HelpPage.VB
Existují dva balíčky, jeden pro C# a jeden pro Visual Basic. Nezapomeňte použít ten, který odpovídá vašemu projektu.
Tento příkaz nainstaluje potřebná sestavení a přidá zobrazení MVC pro stránky nápovědy (umístěné ve složce Areas/HelpPage). Na stránku nápovědy budete muset přidat odkaz ručně. Identifikátor URI je /Help. Pokud chcete vytvořit odkaz v zobrazení razor, přidejte následující:
@Html.ActionLink("API", "Index", "Help", new { area = "" }, null)
Nezapomeňte také zaregistrovat oblasti. V souboru Global.asax přidejte do metody Application_Start následující kód, pokud tam ještě není:
protected void Application_Start()
{
// Add this code, if not present.
AreaRegistration.RegisterAllAreas();
// ...
}
Přidání dokumentace k rozhraní API
Ve výchozím nastavení mají stránky nápovědy zástupné řetězce pro dokumentaci. K vytvoření dokumentace můžete použít komentáře dokumentace XML . Pokud chcete tuto funkci povolit, otevřete soubor Areas/HelpPage/App_Start/HelpPageConfig.cs a odkomentujte následující řádek:
config.SetDocumentationProvider(new XmlDocumentationProvider(
HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));
Teď povolte dokumentaci XML. V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt a vyberte Vlastnosti. Vyberte stránku Sestavení .
V části Výstup zkontrolujte soubor dokumentace XML. Do textového pole zadejte "App_Data/XmlDocument.xml".
Dále otevřete kód pro ValuesController kontroler rozhraní API, který je definován v /Controllers/ValuesController.cs. Přidejte do metod kontroleru některé komentáře dokumentace. Například:
/// <summary>
/// Gets some very important data from the server.
/// </summary>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
/// <summary>
/// Looks up some data by ID.
/// </summary>
/// <param name="id">The ID of the data.</param>
public string Get(int id)
{
return "value";
}
Poznámka:
Rada: Pokud umístíte kurzor na řádek nad metodou a zadáte tři svislé lomítka, Visual Studio automaticky vloží elementy XML. Pak můžete vyplnit prázdné hodnoty.
Teď znovu sestavte a spusťte aplikaci a přejděte na stránky nápovědy. Řetězce dokumentace by se měly zobrazit v tabulce rozhraní API.
Stránka nápovědy načte řetězce ze souboru XML za běhu. (Při nasazování aplikace nezapomeňte nasadit soubor XML.)
Pod kapotou
Stránky nápovědy jsou postavené na třídě ApiExplorer , která je součástí architektury webového rozhraní API. Třída ApiExplorer poskytuje suroviny pro vytvoření stránky nápovědy. Pro každé rozhraní API obsahuje ApiExplorerpopis rozhraní API, který popisuje rozhraní API. Pro tento účel je rozhraní API definováno jako kombinace metody HTTP a relativního identifikátoru URI. Tady jsou například některá různá rozhraní API:
- GET /api/Products
- GET /api/Products/{id}
- POST /api/Products
Pokud akce kontroleru podporuje více metod HTTP, apiExplorer zachází s každou metodou jako s odlišným rozhraním API.
Chcete-li skrýt rozhraní API z apiExplorer, přidejte do akce atribut ApiExplorerSettings a nastavte IgnoreApi na true.
[ApiExplorerSettings(IgnoreApi=true)]
public HttpResponseMessage Get(int id) { }
Tento atribut můžete také přidat do kontroleru, abyste vyloučili celý kontroler.
třída ApiExplorer získá řetězce dokumentace z rozhraní IDocumentationProvider. Jak jste viděli dříve, knihovna Help Pages poskytuje IDocumentationProvider , který získá dokumentaci z řetězců dokumentace XML. Kód se nachází v umístění /Areas/HelpPage/XmlDocumentationProvider.cs. Dokumentaci můžete získat z jiného zdroje napsáním vlastního IDocumentationProvideru. Chcete-li jej připojit, zavolejte rozšiřující metodu SetDocumentationProvider, která je definovaná v HelpPageConfigurationExtensions
ApiExplorer automaticky volá do rozhraní IDocumentationProvider pro získání řetězců dokumentace pro každé rozhraní API. Uloží je do vlastnosti Documentationobjektů ApiDescription a ApiParameterDescription .
Další kroky
Nejste omezeni na stránky nápovědy zobrazené tady. Ve skutečnosti není apiExplorer omezen na vytváření stránek nápovědy. Yao Huang Lin napsal několik skvělých blogových příspěvků, které vám pomůžou začít přemýšlet: