为什么此Symfony注释不起作用?

时间:2019-01-25 18:44:18

标签: symfony routing

在开始之前,我应该提到这是 Symfony 2.8.25 。 (我刚刚开始在此代码库上工作,一旦解决了一些关键问题,我们将进行升级。)

我有一个使用注释现有类,并且有许多可以正常工作的路由。

我添加了一个新的,每次都得到一个404。我做了console cache:clear,但没有帮助。当我执行console debug:route时,新的路线出现在列表中。但是我仍然在它们上得到404,而其他同一个源文件中的文件仍然起作用。

所有路由都使用POST,有效和无效的POST。

routing.yml看起来像这样:

app:
    resource: '@AppBundle/Controller/'
    type: annotation

logout:
    path: /logout

该类如下:

<?php

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use AppBundle\Entity\Environment;
use AppBundle\Entity\Instance;
use AppBundle\Entity\Migration;
use AppBundle\Entity\UserActivity;
use AppBundle\Entity\Task;
use AppBundle\Form\Environment\EnvironmentType;
use AppBundle\Services\Api;
use AppBundle\Utils\HashRequest;

class EnvironmentController extends Controller
{
...
    /**
     *
     * @Route("/api/envtype/add", name="api_envtype_add")
     *
     */
    public function addEnvtypeAction(Request $request){
...

当我尝试使用同一课程的另一条路线时,它会起作用。但是不是这个新的。

我尝试重命名该路线,但这没什么区别。我检查了TAB的注释注释,因为在旧版本中这是(半)已知的错误。注释中没有TAB。

在我看来,此注释与其他注释完全相同。 (例如,它们都没有@return。)

PostMan报告No route found for "POST /api/envtype/add"

我完全没有主意。

2 个答案:

答案 0 :(得分:1)

找到了。这是愚蠢的事情的结合,包括特别是测试环境。承受一段时间的压力意味着我很愚蠢。

答案 1 :(得分:0)

namespace中:

use Symfony\Component\Routing\Annotation\Route;