可能 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,感谢大家的宝贵帮助
我正在开发 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,感谢大家的宝贵帮助