Пусть Api-платформа отлично работает с Symfony 3.4 - PullRequest
0 голосов
/ 07 мая 2019

Я работаю над Symfony 3.4 и хочу добавить платформу Api.После установки этого последнего (API), когда я пытаюсь отладить маршруты, я не вижу свои маршруты, начинающиеся с api / я не знаю, что не так.Спасибо, что дал мне несколько предложений

Это мой composer.json

"require": {
        "php": ">=5.5.9",
        "api-platform/api-pack": "^1.2",
        "doctrine/doctrine-bundle": "^1.6",
        "doctrine/orm": "^2.5",
        "easycorp/easyadmin-bundle": "^1.17",
        "incenteev/composer-parameter-handler": "^2.0",
        "nelmio/api-doc-bundle": "^3.4",
        "sensio/distribution-bundle": "^5.0.19",
        "sensio/framework-extra-bundle": "^5.0.0",
        "symfony/dependency-injection": "3.4.*",
        "symfony/flex": "1.2.3",
        "symfony/monolog-bundle": "^3.1.0",
        "symfony/polyfill-apcu": "^1.0",
        "symfony/swiftmailer-bundle": "^2.6.4",
        "symfony/symfony": "3.4.*",
        "twig/twig": "^1.0||^2.0"
    },

Ответы [ 2 ]

1 голос
/ 09 мая 2019

Хорошо выглядит ответ # stephan.mada. Замечу, что я работал с конфигом пакета. Теперь я взял

... api_platform: mapping: paths: ['% kernel.project_dir%/ src / Entity '] ...

из

config / package / api_platform.yaml

до

App / config / config.yml

То же самое для маршрута

Я перемещаюсь


api_platform: resource:.тип: api_platform

префикс: / api

от

config / маршруты / api_platform.yaml

до

приложение / config /routing.yml

А теперь это, спасибо всем за вашу драгоценную помощь

0 голосов
/ 08 мая 2019

Я не знаю, сделано ли это уже в вашем проекте или нет, но для работы API Platform вам необходимо:

  • Включить пакет
// app/AppKernel.php
$bundles = [
    // ...

    new ApiPlatform\Core\Bridge\Symfony\Bundle\ApiPlatformBundle(),
];
  • Платформа Congifure Api
# app/config/config.yml
api_platform:
    mapping:
        paths: ['%kernel.project_dir%/src/Entity']

  • импорт маршрутов платформы API
# app/config/routing.yml
api_platform:
    resource: .
    type: api_platform
    prefix: /api

  • Наконец, используйте API-платформу в вашей сущности, например:
<?php
// src/AppBundle/Entity/Book.php

namespace App\Entity;

use ApiPlatform\Core\Annotation\ApiResource;

/**
 * ...
 *
 * @ApiResource
 */
class Book
{
    // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...