Jet\RESTServer

Hlavní fasáda subsystému Jet\RESTServer.

Přehled metod

Metoda Význam
public static getBackend(
) : RESTServer_Backend
Vrátí instanci backendu. Pokud jste pomocí metody setBackend neurčili vlastní backend, pak je použita instance třídy Jet\RESTServer_Backend_Default.
public static setBackend(
RESTServer_Backend $backend
) : void
Nastaví volitelný backend. Metodu je samozřejmě nutné použít dříve než se začne RESTServer používat. Tedy například inicializátoru báze.
public static init(
) : void
Inicializace REST serveru samotného. Dělá například to, že debugging přepne do JSON režimu, nastaví chybové stránky, případně provede další operace (pokud budete potřebovat).
public static getRequestMethod(
) : string
Určí metodu požadavku (zda jde o post, get, put, delete, ...)
public static getRequestData(
) : array
Vrátí data z těla požadavku (např. při post požadavku) z JSON převedená na asociované pole.

Rovnou provede kontrolu zda data vůbec existují a zda jde o JSON.
public static getHttpRequestHeader(
string $header,
string $default_value=''
) : string
Vrací hodnotu určené http hlavičky požadavku, nebo výchozí hodnotu, pokud tato hlavička v požadavku chybí.
public static responseData(
mixed $data
) : void
Obecné odeslání libovolných dat - např. data určité entity (například článku) po úspěšném get požadavku.
public static responseOK(
string $message=''
) : void
Prostá odpověď OK - pouze s určitou zprávou, ale bez doplňkových dat.
public static handleNotAuthorized(
) : void
Obecná odpověď: na to nemáte oprávnění.
public static responseError(
string|int $code,
mixed $data=null
) : void
Obecná odpověď chyby s určitým kódem a volitelně s chybovými daty (upřesnění povahy chyby).
public static responseValidationError(
array $errors
) : void
Chyba validace vstupních dat.
Chybová hlášení v poli musí být serializovatelná do JSON.
Tedy může se jednat například o instance Jet\Form_ValidationError.
public static responseUnknownItem(
string|array $id
) : void
Obecná odpověď neznámá položka / neznámé položky. Parametr $id určuje jaká položka položka je neznámá / jaké položky jsou neznámé.
public static responseBadRequest(
) : void
Obecná odpověď chybný požadavek.
public static handleDataPagination(
DataModel_Fetch_Instances $data
) : Data_Paginator
Na základě get parametrů (například) zpracuje stránkování seznamu dat a vrátí nastavený stránkovač.
public static handleOrderBy(
DataModel_Fetch_Instances $data,
array $sort_items_map
) : DataModel_Fetch_Instances
Na základě get parametrů (například) obslouží řazení seznamu dat. Parametr $sort_items_map je asociované pole, které určuje jaký parametr (např. get) bude řadit jaký datový sloupeček. Například: public function list_Action(): void
    
{
        
$this->responseData(
            
$this->handleDataPagination(
                
$this->handleOrderBy(
                    
Content_Article::getList(),
                    [
                        
'title'     => 'article_localized.title',
                        
'date_time' => 'article.date_time'
                    
]
                )
            )
        );
    }
Předchozí kapitola
REST API Server
Další kapitola
Jet\RESTServer_Backend