Платформа API — невозможно создать IRI для элемента

Я начинаю с API Platform и использую пример сущности «Foo»:

namespace AppBundle\Entity;

use ApiPlatform\Core\Annotation\ApiResource;
use Doctrine\ORM\Mapping as ORM;/**
* Foo
*
* @ORM\Table(name="foo")
* @ApiResource
* @ORM\Entity
*/
class Foo
{
/**
* @var string
*
* @ORM\Column(name="bar", type="string", length=255, nullable=false)
*/
private $bar;

/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;}

Я успешно вижу новую сущность на приборной панели (см. Изображение):

Платформа API Dhasboard

И у меня была следующая ошибка при попытке получить всю коллекцию Foo:

curl -X GET "http://127.0.0.1:8000/foos" -H "accept: application/json"
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "Unable to generate an IRI for the item of type \"AppBundle\\Entity\\Foo\"",
"trace": [
{
"namespace": "",
"short_class": "",
"class": "",
"type": "",
"function": "",
"file": "/home/xxxx/api/vendor/api-platform/core/src/Bridge/Symfony/Routing/IriConverter.php",
"line": 107,
"args": []
},

Я пробовал разные форматы и тоже проверял маршруты:

 julian@js:~/xxxxx/api$ ./bin/console debug:router
------------------------------- -------- -------- ------ -----------------------------------
Name                            Method   Scheme   Host   Path
------------------------------- -------- -------- ------ -----------------------------------
_wdt                            ANY      ANY      ANY    /_wdt/{token}
_profiler_home                  ANY      ANY      ANY    /_profiler/
_profiler_search                ANY      ANY      ANY    /_profiler/search
_profiler_search_bar            ANY      ANY      ANY    /_profiler/search_bar
_profiler_phpinfo               ANY      ANY      ANY    /_profiler/phpinfo
_profiler_search_results        ANY      ANY      ANY    /_profiler/{token}/search/results
_profiler_open_file             ANY      ANY      ANY    /_profiler/open
_profiler                       ANY      ANY      ANY    /_profiler/{token}
_profiler_router                ANY      ANY      ANY    /_profiler/{token}/router
_profiler_exception             ANY      ANY      ANY    /_profiler/{token}/exception
_profiler_exception_css         ANY      ANY      ANY    /_profiler/{token}/exception.css
_twig_error_test                ANY      ANY      ANY    /_error/{code}.{_format}
api_entrypoint                  ANY      ANY      ANY    /{index}.{_format}
api_doc                         ANY      ANY      ANY    /docs.{_format}
api_jsonld_context              ANY      ANY      ANY    /contexts/{shortName}.{_format}
api_foos_get_collection         GET      ANY      ANY    /foos.{_format}
api_foos_post_collection        POST     ANY      ANY    /foos.{_format}
api_foos_get_item               GET      ANY      ANY    /foos/{id}.{_format}
api_foos_put_item               PUT      ANY      ANY    /foos/{id}.{_format}
api_foos_delete_item            DELETE   ANY      ANY    /foos/{id}.{_format}

------------------------------- -------- -------- ------ -----------------------------------

Возможно, мне нужна какая-то специальная библиотека на моем сервере? Что я делаю не так?

Заранее спасибо!

4

Решение

Вам не хватает получателя для вашего идентификатора

public function getId()
{
return $this->id;
}
10

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector