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 );
Předchozí kapitola
Jet\MVC_Controller_Default
Další kapitola
Mikrorouter kontroleru