Ich versuche, JSON in eine Add() - Aktion meines Controllers zu übergeben, aber die Antwort ist entweder eine Antwort von der Index() -Aktion oder "null" abhängig von Einträgen in meiner routes.php (siehe unten).CakePHP 3 Hinzufügen von Aktionsrouten zum Index oder Returns Null
Ich verwende Firefox-Plugin RESTClient zu testen/pass json meine Aktionen:
Methode: POST
URL:http://MyApp/notes.json (mein Verständnis ist, sollte dies Aktion nennen hinzufügen, basierend auf cakephp docs)
JSON:
{
"post_id":"123",
"note":"hello world"
}
Wenn ich folgend in meinem routes.php habe, ist die Antwort „null“
Router::scope('/', function ($routes) {
$routes->extensions(['json']);
$routes->resources('Notes');
$routes->resources('Notes');
aus diesem Bereich gibt eine Antwort aus dem Index Aktion und alle Elemente im Notes-Modell zurück in der Antwort wird aus- .
Darüber hinaus, wenn ich dies durch Crud.Add in einem API-Präfix implementieren, bekomme ich gültige Ergebnisse. Das heißt, versuchen zu verstehen, was ich falsch in meiner routes.php oder fügen Sie Aktion, die Ursache der Null-oder Routing-Index-Aktion verursachen könnte.
Aktion hinzufügen:
public function add()
{
$note = $this->Notes->newEntity();
if ($this->request->is('post')) {
$note = $this->Notes->patchEntity($note, $this->request->data);
if ($this->Notes->save($note)) {
$message = 'Saved';
} else {
$message = 'Error';
}
}
$this->set('_serialize', ['note', 'message']);
}
routes.php:
<?php
use Cake\Core\Plugin;
use Cake\Routing\Router;
Router::defaultRouteClass('DashedRoute');
Router::extensions(['json'], ['xml']);
Router::prefix('api',function($routes) {
$routes->extensions(['json','xml']);
$routes->resources('Notes');
});
Router::scope('/', function ($routes) {
$routes->extensions(['json']);
$routes->resources('Notes');
$routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']);
$routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']);
$routes->fallbacks('DashedRoute');
});
Plugin::routes();
Vielen Dank im Voraus.
uggh auch !! Ich kann nicht glauben, dass ich das vermisst habe. starrt mich direkt ins Gesicht, danke !! – mk97