Ошибка 404 при использовании файла маршрута yaml в SymfonyPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Ошибка 404 при использовании файла маршрута yaml в Symfony

Сообщение Anonymous »

Я пытаюсь установить маршруты проекта в файле yaml следующим образом: config/routes.yaml

Код: Выделить всё

app_todo_create:
path: /api/todo/create
controller: App\Todo\Infrastructure\Controller\TodoController::create
methods: [POST]

app_todo_find:
path: /api/todo/find/{id}
controller: App\Todo\Infrastructure\Controller\TodoController::find
methods: [GET]

app_todo_find_all:
path: /api/todo/findAll
controller: App\Todo\Infrastructure\Controller\TodoController::findAll
methods: [GET]

app_todo_edit:
path: /api/todo/edit
controller: App\Todo\Infrastructure\Controller\TodoController::edit
methods: [PUT]

app_todo_delet:
path: /api/todo/delete
controller: App\Todo\Infrastructure\Controller\TodoController::delete
methods: [DELETE]
и это часть контроллера

Код: Выделить всё

namespace App\Todo\Infrastructure\Controller;

use App\Todo\Application\Command\CreateTodoCommand;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class TodoController extends AbstractController
{

public function create(Request $request): Response
{

return new JsonResponse([]);
}
и маршруты отображаются, когда я использую php bin/console debug:router

Код: Выделить всё

  Name                Method   Scheme   Host   Path
------------------- -------- -------- ------ --------------------------
_preview_error      ANY      ANY      ANY    /_error/{code}.{_format}
app_todo_create     POST     ANY      ANY    /api/todo/create
app_todo_find       GET      ANY      ANY    /api/todo/find/{id}
app_todo_find_all   GET      ANY      ANY    /api/todo/findAll
app_todo_edit       PUT      ANY      ANY    /api/todo/edit
app_todo_delet      DELETE   ANY      ANY    /api/todo/delete
------------------- -------- -------- ------ --------------------------
и php bin/console router:match /api/todo/create --method=POST это тоже правильно
+- -------------+------------------------------------ --------------------------------------+
| Недвижимость | Ценность |

Код: Выделить всё

+--------------+--------------------------------------------------------------------------+
| Route Name   | app_todo_create                                                          |
| Path         | /api/todo/create                                                         |
| Path Regex   | {^/api/todo/create$}sDu                                                  |
| Host         | ANY                                                                      |
| Host Regex   |                                                                          |
| Scheme       | ANY                                                                      |
| Method       | POST                                                                     |
| Requirements | NO CUSTOM                                                                |
| Class        | Symfony\Component\Routing\Route                                          |
| Defaults     | _controller: App\Todo\Infrastructure\Controller\TodoController::create() |
| Options      | compiler_class: Symfony\Component\Routing\RouteCompiler                  |
|              | utf8: true                                                               |
+--------------+--------------------------------------------------------------------------+
Затем я пытаюсь отправить запрос на http://localhost:81/api/todo/create и получаю ошибку 404, если запрашиваю http://localhost :81работает, это проблема с маршрутизацией, я что-то пропустил в конфигурации маршрутов?

Подробнее здесь: https://stackoverflow.com/questions/792 ... on-symfony
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»