Swagger doc для пользовательской конечной точки - PullRequest
1 голос
/ 29 марта 2019

Для своего проекта я создал категорию сущностей.Его класс хранилища расширяет NestedTreeRepository от соотв.STOF-Extension.Я реализовал пользовательскую конечную точку для перемещения категории в дереве.Функциональность работает нормально, но я борюсь с документацией о чванстве.

Я следовал инструкциям в документации по платформе API, но безуспешно.

App \ Entity \ Cagegory:

namespace App\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\PersistentCollection;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Validator\Constraints as Assert;
use ApiPlatform\Core\Annotation\ApiResource;
use \DateTime;
use \DateTimeInterface;

/**
 * @ApiResource(attributes={
 *     "denormalization_context"={"groups"={"tree"}},
 *     "item_operations"={
 *         "get"={"method"="GET"},
 *         "put"={"method"="PUT"},
 *         "delete"={"method"="DELETE"},
 *         "moveCategory"={
 *             "method"="GET",
 *             "route_name"="category_move",
 *             "swagger_context" = {
 *                 "parameters" = {
 *                     {
 *                         "name" = "id",
 *                         "in" = "path",
 *                         "required" = "true",
 *                         "type" = "integer"
 *                     },
 *                     {
 *                         "name" = "amount",
 *                         "in" = "path",
 *                         "required" = "true",
 *                         "type" = "integer"
 *                     }
 *                 },
 *                 "responses" = {
 *                     "200" = {
 *                         "description" = "The category has been moved"
 *                     }
 *                 }
 *             }
 *         }
 *      }
 * })
 *
 * @Gedmo\Tree(type="nested")
 * @ORM\Table(name="categories")
 * use repository for handy tree functions
 * @ORM\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
 */
class Category
...

config / rout.yaml:

category_move:
    path: /api/categories/{id}/move/{amount}
    methods: [GET]
    defaults:
        _controller: App\Controller\CategoryController::move
        _api_resource_class: App\Entity\Category
        _api_item_operation_name: moveCategory

Когда я перезагружаю страницу сваггера, она все равно показывает стандартные операции, но не мою пользовательскую конечную точку.

Любаяидеи?

...