Я создал операцию, персонализированную типа POST, методом, описанным в документации платформы api.Система работает, но объект $ data функции __ invoke () остается нулевым (все свойства этого объекта нулевые)
Вот код класса Step:
namespace App\Entity\Api;
use ApiPlatform\Core\Annotation\ApiResource;
use App\Controller\Api\Step\Create as StepCreate;
/**
* Class Step
* @ApiResource(itemOperations={
* "get",
* "special"={
* "method"="POST",
* "path"="/step/create",
* "controller"=StepCreate::class,
* "defaults"={"_api_receive"=false},
* }
* })
*
* @package App\Entity\Api\Step
*/
class Step {
/**
* @var null|string
*/
private $title;
/**
* @var null|string
*/
private $description;
/**
* @var float
*/
private $latitude;
/**
* @var float
*/
private $longitude;
/**
* @var int
*/
private $tripId;
...
}
И код контроллера:
namespace App\Controller\Api\Step;
use App\Entity\Api\Step;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class Create {
/**
* @param \App\Entity\Api\Step $data
* @return mixed
*/
public function __invoke(Step $data) {
dump($data);
return $data;
}
}
А вот и результат дампа ($ data):
<code><pre>
<abbr title="App\Entity\Api\Step">Step</abbr> {
<samp>
-
<span title="Private property defined in class: `App\Entity\Api\Step`">title</span>:
<span class=sf-dump-const>null</span>
-
<span title="Private property defined in class: `App\Entity\Api\Step`">description</span>:
<span class=sf-dump-const>null</span>
-
<span title="Private property defined in class: `App\Entity\Api\Step`">latitude</span>:
<span class=sf-dump-const>null</span>
-
<span title="Private property defined in class: `App\Entity\Api\Step`">longitude</span>:
<span class=sf-dump-const>null</span>
-
<span title="Private property defined in class: `App\Entity\Api\Step`">tripId</span>:
<span class=sf-dump-const>null</span>
</samp>}
Может ли кто-нибудь помочь мне с этим?
спасибо:)