Implementace vlastního koncového bodu REST Server-Side
Platí pro: Windows Azure Pack
Na straně serveru je sada rozhraní REST API, která jsou volána na straně klienta k načtení dat a provádění operací. Oba tyto typy operací obvykle budou volat back-end k získání skutečných dat nebo provedení skutečné operace. Kontroler, který implementuje rozhraní API, je obvykle kontroler MVC, který vrací JSON ASP.NET a back-end obvykle bude rozhraní API pro správu služeb, ale může být libovolná jiná služba přístupná z webu ASP.NET MVC.
Důležité
Ukázka Hello World poskytuje ukázkovou implementaci na straně serveru.
Na straně klienta i na straně serveru se můžou nacházet ve stejném Visual Studio projektu a nasazují se na stejné portály pro správu.
Třída kontroleru
Třída kontroleru je instance jedné ze standardních abstraktních tříd MVC ASP.NET MVC nebo AsyncController. Obvykle se označí atributy [RequireHttps], aby se zajistilo, že jsou povolená pouze zabezpečená připojení, [OutputCache] zakáže ukládání odpovědí do mezipaměti a [PortalExceptionHandler], která je popsaná v následující části Chyby zpracování . Aby se zabránilo útokům phishing, jsou metody v kontroleru označené jako [HttpPost]. Tím zakážete požadavky HTTP GET a povolíte tak požadavky HTTP POST. Klient ani architektura na straně serveru neuloží žádná omezení toho, jak se server a klientská strana vzájemně komunikují, s výjimkou toho, kde se vyžaduje interakce s widgetem Grid architektury na straně klienta. V takovém případě se podívejte na následující část Vrácení datových sad .
Vrácení datových sad
Datová sada je seznam dat, která se mají zobrazit v uživatelském rozhraní, obvykle v seznamu (zobrazení mřížky). Liší se od standardní odpovědi v tom, že architektura na straně klienta zpracovává načítání a zobrazování v mřížce. Pokud metoda vrací datovou sadu, obvykle reprezentovanou v uživatelském rozhraní jako seznam, doporučujeme použít metodu Controller.JsonDataSet jako v následujícím příkladu:
return this.JsonDataSet(listOfData);
Tím se automaticky zabalí datová sada listOfData do obálky JSON vhodné pro zpracování rozhraním na straně klienta. Informace o implementaci na straně klienta najdete v tématu Zobrazení mřížky v rozšíření portálu pro správu sady Azure Pack Windows.
Provádění příkazů
Metody, které provádějí příkazy v kontroleru, obvykle vrátí objekt JSON, aby se zobrazila operace. To může být stejně jednoduché jako logické označení úspěchu nebo složité jako data, která se změnila v důsledku operace. Klient ani rozhraní na straně serveru nic nevyžaduje.
Zpracování chyb
Výjimky vyvolané kontrolerem obvykle musí být uživateli zobrazeny pro další akci nebo zpracování. Nejjednodušší způsob, jak to udělat na straně serveru, je použít atribut [PortalExceptionHandler] pro vaši třídu. Všechny výjimky typu PortalException se přeloží na správně modelovaný JSON, mají odpovídající sadu kódu chyby HTTP a vrátí se na straně klienta, aby bylo možné snadno zobrazit s oznámením o chybě. Příklad kódu JSON vráceného při chybě s atributem [PortalExceptionHandler] je níže:
{
"message": "Fake Error",
"ErrorMessage": "Fake Error",
"httpStatusCode": "InternalServerError",
"operationTrackingId": null,
"stackTrace": null,
}
Jakýkoli jiný typ výjimky se zobrazí jako prázdná chyba HTTP 500, aby se zabránilo vystavení interních podrobností uživateli. Trasování zásobníku se odešle pouze v případě, že portál, na kterém je rozšíření spuštěné, je nastaveno na hodnotu true. To je možné změnit v souboru web.config portálu pro správu. Další informace najdete v části Uživatelské rozhraní pro chyby vrácené z volání rozhraní API.
Viz také
Windows rozšíření uživatelského rozhraní portálu Pro správu sady Azure Pack
Jak zobrazit mřížku v rozšíření portálu pro správu sady Azure Pack Windows
Ladění rozšíření portálu pro správu sady Azure Pack Windows