为什么这个 Sylius 资源 API 要求模板?
Why is this Sylius Resource API asking for Templaets?
我正在尝试创建 Sylius 资源。我创建了一个名为 App\Entity\Thing
的 Doctrine 实体
./src/Repository/ThingRepository.php
./src/Entity/Thing.php
并且,per Sylius docs,我将以下内容添加到我的路由配置中
app_thing:
resource: |
alias: app.thing
type: sylius.resource_api
以及我的应用程序配置的以下内容
sylius_resource:
resources:
app.thing:
classes:
model: App\Entity\Thing
根据 Sylius 文档,我应该申请通过 API 使用这样的 curl 调用来获取 "thing"
curl -i -X GET -H "Accept: application/json" http://localhost:8000/things/1
但是,当我尝试这样做时,出现以下错误
Unable to find template "/show.html.twig" (looked into: /path/to/acme/vendor/knplabs/knp-menu/src/Knp/Menu/Resources/views, /path/to/acme/templates, /path/to/acme/templates, /path/to/acme/vendor/symfony/twig-bridge/Resources/views/Form).
错误似乎是要求某些树枝模板存在——我不明白,因为这是 JSON Api。我假设我做错了什么,但我不知道是什么。
有谁知道我做错了什么,或者对我如何进一步调试有建议吗?
这是 sylius:debug:resource
命令的输出。我是 运行 Sylius 标准版。
$ php bin/console sylius:debug:resource app.thing
+--------------------+------------------------------------------------------------+
| name | thing |
| application | app |
| driver | doctrine/orm |
| classes.model | App\Entity\Thing |
| classes.controller | Sylius\Bundle\ResourceBundle\Controller\ResourceController |
| classes.factory | Sylius\Component\Resource\Factory\Factory |
| classes.form | Sylius\Bundle\ResourceBundle\Form\Type\DefaultResourceType |
+--------------------+------------------------------------------------------------+
我认为文档中缺少某些内容。
API 路由需要 ^/api 前缀。
一种解决方案是向您的路由配置添加路径:
app_thing:
resource: |
alias: app.thing
path: /api/things
type: sylius.resource_api
我正在尝试创建 Sylius 资源。我创建了一个名为 App\Entity\Thing
./src/Repository/ThingRepository.php
./src/Entity/Thing.php
并且,per Sylius docs,我将以下内容添加到我的路由配置中
app_thing:
resource: |
alias: app.thing
type: sylius.resource_api
以及我的应用程序配置的以下内容
sylius_resource:
resources:
app.thing:
classes:
model: App\Entity\Thing
根据 Sylius 文档,我应该申请通过 API 使用这样的 curl 调用来获取 "thing"
curl -i -X GET -H "Accept: application/json" http://localhost:8000/things/1
但是,当我尝试这样做时,出现以下错误
Unable to find template "/show.html.twig" (looked into: /path/to/acme/vendor/knplabs/knp-menu/src/Knp/Menu/Resources/views, /path/to/acme/templates, /path/to/acme/templates, /path/to/acme/vendor/symfony/twig-bridge/Resources/views/Form).
错误似乎是要求某些树枝模板存在——我不明白,因为这是 JSON Api。我假设我做错了什么,但我不知道是什么。
有谁知道我做错了什么,或者对我如何进一步调试有建议吗?
这是 sylius:debug:resource
命令的输出。我是 运行 Sylius 标准版。
$ php bin/console sylius:debug:resource app.thing
+--------------------+------------------------------------------------------------+
| name | thing |
| application | app |
| driver | doctrine/orm |
| classes.model | App\Entity\Thing |
| classes.controller | Sylius\Bundle\ResourceBundle\Controller\ResourceController |
| classes.factory | Sylius\Component\Resource\Factory\Factory |
| classes.form | Sylius\Bundle\ResourceBundle\Form\Type\DefaultResourceType |
+--------------------+------------------------------------------------------------+
我认为文档中缺少某些内容。 API 路由需要 ^/api 前缀。 一种解决方案是向您的路由配置添加路径:
app_thing:
resource: |
alias: app.thing
path: /api/things
type: sylius.resource_api