Api-Platform и GraphQl - как получить данные из специальной операции? - PullRequest
0 голосов
/ 22 ноября 2018

Я недавно начал работать с Api Platform и Graphql над новым проектом.Обычно я работал с Symfony и REST Api.Итак, теперь я создал специальную операцию (https://api -platform.com / docs / core / operations / # рекомендуемый-метод ), и она работает с Rest Api.Но как мне создать свой Graphql Query для получения этих данных?Я много читал, гуглил и много пробовал.Ничего не работаетЯ совершенно новичок в Graphql.Поэтому было бы очень полезно, если бы вы могли привести точный пример: D

Код:

<?php

namespace App\Entity;

use ApiPlatform\Core\Annotation\ApiResource;
use App\Component\EntityTrait\TimestampableEntity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Loggable\Loggable;
use Gedmo\Timestampable\Timestampable;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
use App\Controller\DocumentVersion;

/**
 * @ApiResource(itemOperations={
 *     "versions"={
 *         "method"="GET",
 *         "path"="/documents/{id}/versions",
 *         "controller"="App\Controller\DocumentVersion::getVersions"
 *     },
 *     "version"={
 *         "method"="GET",
 *         "path"="/documents/{id}/version/{version}",
 *         "controller"="App\Controller\DocumentVersion::getVersion"
 *     },
 *     "get"
 * })
 *
 * @ORM\Entity
 * @Gedmo\Loggable
 */
class Document implements \App\Contract\Entity\Document, Timestampable, Loggable
{ 
// usual getters+setters 
}

DocumentVersion - это мой «Контроллер», который содержит оба метода getVersion и getVersions.Вызов обоих путей с помощью Rest Api работает.Но как позвонить с графическим интерфейсом на localhost: 8080 / graphql?

Я пробовал это:

query getDocument {
  document(id: "documents/3/versions") {
    id
    title
  }
}

и много других вещей, но ничего не работает.Документация еще не предоставлена ​​Api Platform.Надеюсь, что кто-нибудь может мне помочь, проект не хватает времени (конечно).Спасибо Джул

...