Error 405 in CRUD Routes

I am new to Laminas development. I’m doing a CRUD with Mezzio, based on Mezzio Skeleton. When I edit the routes, to create the edition of some record. I always get a 405 Not Allowed error. If I do the test with Postman if I get results in HTML. Can you tell me what the problem may be?
Thank you.

Hello and welcome to our forums! :smiley:

Can you provide your edited routes? Otherwise it is difficult to help.

Hi Froschdesign.

routes.php

return static function (Application $app, MiddlewareFactory $factory, ContainerInterface $container): void {

    $app->get('/dashboard', App\Handler\HomePageHandler::class, 'home');

         

    $app->get(

        '/establecimientos',

        Establecimientos\Handler\EstablecimientosListHandler::class,

        'establecimientos'

    );

    $app->post(

        '/establecimiento-create',

        Establecimientos\Handler\EstablecimientosCreateHandler::class,

        'establecimiento.create'

    );

    $app->put(

        '/establecimiento-edit/{id:\d+}/',

        Establecimientos\Handler\EstablecimientosEditHandler::class,

        'establecimiento.put'

    );

    $app->get(

        '/establecimiento-view/{id:\d+}/',

        Establecimientos\Handler\EstablecimientosUpdateHandler::class,

        'establecimiento.view'

    );

    $app->patch(

        '/establecimiento-edit/{id:\d+}/',

        Establecimientos\Handler\EstablecimientosUpdateHandler::class,

        'establecimiento.patch'

    );

    $app->delete(

        '/establecimiento-delete/{id:\d+}/',

        Establecimientos\Handler\EstablecimientosDeleteHandler::class,

        'establecimiento.delete'

    );

Thanks your quickly response!!

This looks okay, some paths can be improved.

On which route does the error occur? Maybe if you try to access the post route via a normal browser request without a form?

$app->put(

    '/establecimiento-edit/{id:\d+}/',

    Establecimientos\Handler\EstablecimientosEditHandler::class,

    'establecimiento.put'

);

Here I access through a link like this:
http://127.0.0.1:8088/establecimiento-edit/4

I think that the routes do not understand that it is a PUT request, because when I make the call from postman and I indicate the PUT method, it returns the form

The routes are working but you can not access the PUT request via a simple browser call.

Excuse me, now I have fallen into the call to edit must be GET and PUT the call to save the data. Thanks a lot.