Jet\MVC_Controller_REST
Tato třída slouží jako základ pro tvorbu kontrolerů aplikačních modulů tvořících REST API server. V ukázkové aplikaci můžete nahlédnout na příklady vytvořeného REST API v podobě modulů Content.Articles.REST (jednoduché API pro práci s články) a Content.Images.REST (o něco složitější API pro práci s galeriemi a obrázky).
Jet disponuje pro usnadnění tvorby REST API třídu Jet\REST. A třída Jet\MVC_Controller_REST je vlastně pouze obálkou a mostem mezi kontrolerem a třídou Jet\REST.
Metoda | Význam |
---|---|
public __construct( MVC_Page_Content_Interface $content ) |
Konstruktor volá rodičovský konstruktor, ale zároveň zavolá metodu REST::init(); |
public getRequestMethod( ): string |
Rozliší zda jde o GET, POST, PUT, nebo DELETE požadavek. Alias pro volání metody REST::getRequestMethod(); |
public getRequestData( ): array |
Vrátí surová data požadavku již převedená z JSON na pole. Alias pro volání metody REST::getRequestData(); |
public responseOK( string $message = '' ): void |
Odešle odpověď oznamující úspěch operace (např. uložení, smazání a podobně)
Alias pro volání metody REST::responseOK( $message ); |
public responseData( mixed $data ): void |
Odešle data jako odpověď. Může odeslat cokoliv co lze zakódovat do JSON.
Alias pro volání metody REST::responseData( $data ); |
public handleNotAuthorized( ): void |
Odešle oznámení o zamítnutí operace z důvodu nepřihlášení, nebo nedostatečných práv.
Alias pro volání metody REST::handleNotAuthorized(); |
public responseError( string|int $code, mixed $data = null ): void |
Odešle chybovou hlášku s kódem chyby a kontextovými daty o chybě (konkretizaci chyby).
Alias pro volání metody REST::responseError( $code, $data ); |
public responseValidationError( array $errors ): void |
Odešle oznámení o chybě při validaci vstupu.
Alias pro volání metody REST::responseValidationError( $errors ); |
public responseUnknownItem( string|array $id ): void |
Odešle 404 - položka nenalezena.
Alias pro volání metody REST::responseUnknownItem( $id ); |
public responseBadRequest( ): void |
Odešle oznámení o nesrozumitelnosti požadavku.
Alias pro volání metody REST::responseBadRequest(); |
protected handleDataPagination( DataModel_Fetch_Instances $data ): Data_Paginator |
Metoda obsluhující stránkování seznamů položek.
Alias pro volání metody REST::handleDataPagination( $data ); |
protected handleOrderBy( DataModel_Fetch_Instances $data, array $sort_items_map ): DataModel_Fetch_Instances |
Medoa obsluhující řazení seznamů položek.
Alias pro volání metody REST::handleOrderBy( $data, $sort_items_map ); |