Nette – jak vytvořit REST API – json

Co to je REST

REST neboli Representational state transfer je způsob jak jednoduše číst (GET), editovat (PUT), mazat (DELETE) a vytvářet (POST) obsah na serveru pomocí HTTP volání.

REST je vhodný pro jednotný a snadný přístup ke zdrojům. Na rozdíl od SOAP či XML-RPC je REST orientován datově, nikoli procedurálně. Všechny REST zdroje mají jednoznačný identifikátor (URL)

Jak na to v Nette?

Zapomeňte na nějaké složité generování v šabloně. Dokonce nebudete potřebovat ani funkci json-encode. V Nette uděláte JSON výstup velice jednoduše.

Ukázka vygenerování JSONu:

public function actionJson()
{
   $a = array( "date" => "20.8.2014 22:34", "temp_in" => "24.2°C", "temp_out" => "14.9°C" );

   $this->sendResponse( new Nette\Application\Responses\JsonResponse( $a ) );
}

Důležité je, že response je možné vygenerovat pouze metodou sendResponse které předhodíte response

TIP: pokud budete chtít posílat i kódování, provedete to následujícím způsobem:

$this->sendResponse( new Nette\Application\Responses\JsonResponse( $a, "application/json;charset=utf-8" ) );