【问题标题】:May Api-platform work fine with Symfony 3.4愿 Api 平台与 Symfony 3.4 一起正常工作
【发布时间】:2019-05-07 17:52:11
【问题描述】:

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

【问题讨论】:

    标签: symfony symfony-3.4


    【解决方案1】:

    我不知道它是否已经在您的项目中完成,但为了让 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
    {
        // ...
    }
    

    【讨论】:

    • 所有这些步骤都已正确完成...但没有任何效果
    • 没关系,我终于发现我错了我正在使用 api-platform 安装的原始配置。
    【解决方案2】:

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

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

    来自

    config/package/api_platform.yaml

    App/config/config.yml

    路线相同

    我动了


    api_平台: 资源:。 类型:api_platform

    前缀:/api

    来自

    config/routes/api_platform.yaml

    App/config/routing.yml

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-03
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-25
      相关资源
      最近更新 更多