可能 Api-平台可以与 Symfony 3.4 一起正常工作

May Api-platform work fine with Symfony 3.4

我正在开发 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"
    },

我不知道它是否已经在您的项目中完成,但为了让 API 平台正常工作,您需要:

  • 启用捆绑包
// app/AppKernel.php
$bundles = [
    // ...

    new ApiPlatform\Core\Bridge\Symfony\Bundle\ApiPlatformBundle(),
];
  • 配置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
{
    // ...
}

看起来很好#stephan.mada 的答案我说我正在使用包的配置,现在我采用了

... api_platform: 映射: 路径:['%kernel.project_dir%/src/Entity'] ...

来自

config/package/api_platform.yaml

App/config/config.yml

路线相同

我动


api_platform: 资源: 。 输入:api_platform

前缀:/api

来自

config/routes/api_platform.yaml

App/config/routing.yml

现在是 Of,感谢大家的宝贵帮助