在开始之前,我应该提到这是 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"
我完全没有主意。
答案 0 :(得分:1)
找到了。这是愚蠢的事情的结合,包括特别是测试环境。承受一段时间的压力意味着我很愚蠢。
答案 1 :(得分:0)
在namespace
中:
use Symfony\Component\Routing\Annotation\Route;