REST API pomoci drahak/Restful – Pristup ke GET a POST payloadu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
samuelg0rd0n
Člen | 1
+
0
-

Ahoj, snazim se vytvorit jednoduchy REST API server. Pouzil jsem knihovnu drahak/Restful. Podarilo se mi to rozbehat do takove faze, ze dokazu poslat pozadavek na POST, vratit odpoved a to stejne na GET, vratit odpoved. Nic moc vic ani potrebovat nebudu. Pouze mam problem s tim, ze nedokazu precist payload, ktery server obdrzi. V dokumentaci je to popsane zde https://github.com/drahak/Restful#…, ale radek

$this->resource->message = isset($this->input->message) ? $this->input->message : 'no message';

mi stale vraci „no message“. Cely presenter mam takhle

<?php

namespace App\Presenters;

use Drahak\Restful\IResource;
use Drahak\Restful\Application\UI\ResourcePresenter;

/**
 * CRUD resource presenter
 * @package ResourcesModule
 * @author Drahomír Hanák
 */
class RestPresenter extends ResourcePresenter
{
    public function actionCreate()
    {
        $this->resource->action = 'Create';
        $this->resource->message = isset($this->input->message) ? $this->input->message : 'no message';
        $this->sendResource(IResource::JSON);
    }

    public function actionRead()
    {
        $this->resource->action = 'Read';
        $this->resource->message = isset($this->input->message) ? $this->input->message : 'no message';
        $this->sendResource(IResource::JSON);
    }

}

Pro GET tedy poslu napr. pozadavek http://localhost:8080/rest?value=123 a odpoved je

{
	action: "Read"
	message: "no message"
}

Pro testovani pouzivam doplnek pro Chrome Advanced Rest Client. Co bych mohl delat spatne? Proc je message prazdne? Nebo jsem nejak spatne pochopil cely vyznam toho input->message?

Filip Klimeš
Nette Blogger | 156
+
0
-

Pro GET parametry můžeš použít přímo argument metody action*()

	public function actionRead($message = null)
{
    $this->resource->action = 'Read';
    $this->resource->message = $message ? $message : 'no message';
    $this->sendResource(IResource::JSON);
}