create ($ data) в Zend Framework 2 ничего не получает

Я применял учебник по созданию успокоительного приложения, используя ZF2 rest api.

Я столкнулся со странной проблемой, все остальные действия работают отлично, кроме create($data)

public function create($data)
{
$data['id'] = 0;
$form = new AlbumForm();
$album = new Album();
$form->setInputFilter($album->getInputFilter());
$form->setData($data);

if ($form->isValid()) {
$album->exchangeArray($data);
$id = $this->getAlbumTable()->saveAlbum($album);
return $this->get($id);
} else {
return new JsonModel(array("data" => 0 );
}
}

Я использовал плагин restful в Firefox и данные выглядят так

artist=testName&title=testTitle

Я проследил проблему и понял, что переменная $dataвсегда пустой и не хранит никакого значения. С другой стороны, когда я использую update($id, $data) все работает нормально

    public function update($id, $data)
{
$data['id'] = $id;
$album = $this->getAlbumTable()->getAlbum($id);
$form = new AlbumForm();
$form->bind($album);
$form->setInputFilter($album->getInputFilter());
$form->setData($data);

if ($form->isValid()) {
$id = $this->getAlbumTable()->saveAlbum($form->getData());
}

return new JsonModel(array('data' => $data));
}

Так что у меня могут быть какие-то предложения?

Обновите один:

здесь module.config.php файл, чтобы увидеть, есть ли в нем ошибка или нет

<?php
return array(
'controllers' => array(
'invokables' => array(
'AlbumRest\Controller\AlbumRest' => 'AlbumRest\Controller\AlbumRestController',
),
),
// The following section is new` and should be added to your file
'router' => array(
'routes' => array(
'album-rest' => array(
'type' => 'Segment',
'options' => array(
'route' => '/album-rest[/:id]',
'constraints' => array(
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'AlbumRest\Controller\AlbumRest',
),
),
),
),
),
'view_manager' => array(
'strategies' => array(
'ViewJsonStrategy',
),
),
);

Обновление два:

проблема была из Firefox RestfulClient. Я установил почтальон, и он работал отлично.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]