为什么此Sylius资源API要求提供Templaets?

时间:2019-05-09 00:29:16

标签: php symfony doctrine sylius

我正在尝试创建Sylius资源。我创建了一个名为App\Entity\Thing

的学说实体。
./src/Repository/ThingRepository.php
./src/Entity/Thing.php

然后,Compiling with ecj on Termux fails lambda expressions,我在路由配置中添加了以下内容

app_thing:
   resource: |
       alias: app.thing
   type: sylius.resource_api

以及以下对我的应用程序的配置

sylius_resource:
    resources:
        app.thing:
            classes:
                model: App\Entity\Thing

根据Sylius文档,我应该申请通过具有这样的curl调用的API通过“东西”来获取

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 |
+--------------------+------------------------------------------------------------+

1 个答案:

答案 0 :(得分:2)

我认为文档中缺少某些内容。 API路由需要^ / api前缀。 一种解决方案是为您的路由配置添加路径:

  app_thing:
    resource: |
      alias: app.thing
      path: /api/things
    type: sylius.resource_api