Ciao a tutti,
sto cercando di far funzionare la logica restfull di yii2,
seguendo questo tutorial:
http://www.yiiframework.com/wiki/748/building-a-rest-api-in-yii2-0/
anzi per far prima ho proprio scaricato l’esempio già fatto:
https://github.com/sirinibin/yii2rest/blob/master/UserController.php
unica modifica, che ho apportato è usare come modello degli utenti ProvaUtenti anziché User
per tanto nella funzione:
protected function findModel($id)
{
if (($model = ProvaUtenti::findOne($id)) !== null) {
return $model;
} else {
$this->setHeader(400);
echo json_encode(array('status'=>0,'error_code'=>400,'message'=>'Bad request'),JSON_PRETTY_PRINT);
exit;
// throw new NotFoundHttpException('The requested page does not exist.');
}
}
ho sostituito User con [size=2]ProvaUtenti.[/size]
[size=2]
[/size]
[size=2]Ho 2 problemi:[/size]
[size=2]1) la prima riga di codice diceva:[/size]
[size=2]
[/size]
namespace app\modules\api\controllers;
[size=2]
[/size]
[size=2]ma dato che collegandomi su[/size]
URL: api/user/index
come da guida mi dava l’errore:
Not Found (#404)
Unable to resolve the request "api/user/index".
ho cambiato la prima riga in:
namespace app\controllers;
così da far funzionare il servizio collegandomi così:
[size=2]URL:[/size][size=2] [/size]user/
Domanda facoltativa, come avrei dovuto risolvere questo problema?
- il secondo problema, che poi è quello per cui vi sto scrivendo
Se mi collego su
[size=2]URL:[/size][size=2] [/size]user/
chiedendo l’elenco degli utenti, tutto ok, mi viene restituito il json
se invece chiedo il dettaglio di un singolo utente
[size=2]URL:[/size][size=2] [/size]user/1
yii2 mi segnala errore sulla riga:
if (($model = ProvaUtenti::findOne($id)) !== null) {
segnalandomi:
PHP Fatal Error – yii\base\ErrorException
Class ‘app\controllers\ProvaUtenti’ not found
ma io ho creato il model [size=2]ProvaUtenti, perchè lui cerca il controller?[/size]
[size=2]E’ logico che non lo trovi, e non ha senso che lo cerchi.[/size]
[size=2]I record si cercano tramite modello e non controller.[/size]
[size=2]Questo almeno con yii[/size]
[size=2]
[/size]
[size=2]Su yii2 non ho proprio idea.[/size]
[size=2]Come si risolve questo rompicapo?[/size]