bramus / router

A lightweight and simple object oriented PHP Router

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can I mount a POST route?

rvrbk opened this issue · comments

The following code works:

$router->post('/api/social/contact', 'SocialController@contact');

But this code doesn't:

$router->mount('/api', function() use($router) {
    $router->mount('/social', function() use($router) {
        $router->post('/contact', 'SocialController@contact');
    });
});

Note that there is no method specified in the mount statement.

Am I missing something?

Hey Rik, What do you mean by mounting a new route inner a route?
Do you want to group the prefix routes?

Hi BaseMax,

That's indeed what I want to do, the above method works with get() requests but not if there's a child post() request.

Why don't you make it this way
$router->mount('/api/social', function () use ($router) { $router->post('/contact', 'SocialController@contact'); });

This way, you can add multiple subroutes under the api/social route like

$router->mount('/api/social', function () use ($router) { $router->post('/contact', 'SocialController@contact'); $router->get('/friends', 'SocialController@friends'); $router->post('/add-friend', 'SocialController@addFriend'); });