Я новичок в Laravel, я видел, что многие люди используют RestAPI и поэтому используют api.php в маршрутах laravel вместо web.php.

В настоящее время я работаю над проектом, использующим laravel, и у меня есть только функции CRUD, но я начал его со всех своих маршрутов в web.php.

Использование маршрутов web.php в laravel все еще актуально?

Я спросил некоторых из моих коллег, и они ответили мне, что использование api.php теперь очень важно при создании проектов. Я просто хочу узнать, что другие разработчики также думают об этом.

-2
LEAD IT 12 Апр 2019 в 11:40

2 ответа

Лучший ответ

Это зависит от того, что вы пытаетесь создать, если вы пытаетесь создать веб-сайт, используйте web.php для своих маршрутов, поскольку промежуточное программное обеспечение, применяемое к ним по умолчанию, отличается от того, которое используется для api.php. Если вы пытаетесь создать REST API, используйте api.php. Они сделаны для разных целей, а не для замены одного на другое.

web.php и api.php являются просто php-файлами для группировки маршрутов с применением промежуточного программного обеспечения к ним, уже написанным для вас, вы можете проверить его определения на app / Providers / RouteServiceProvider.php, и вы можете изменять их, удалять или создавать свои собственные. Просто фреймворк уже определил эти два для вас, что может быть слишком распространенным для того, чтобы пользователь каждый раз определял их, веб-маршруты используют группу промежуточного программного обеспечения, называемую веб, и группу промежуточного программного обеспечения, называемую api, которые описаны в группах промежуточного программного обеспечения по умолчанию из официальной документации. Как там сказано:

В комплект поставки Laravel входят группы промежуточного программного обеспечения для веб-приложений и API-интерфейсов, которые содержат общее промежуточное программное обеспечение, которое вы, возможно, захотите применить к своим веб-интерфейсам и маршрутам API.

Группа API включает только регулирование, в то время как веб-группа включает в себя вещи, которые вам понадобятся на маршруте веб-интерфейса, такие как CsrfToken, Session, Cookies и т.д ...

2
namelivia 12 Апр 2019 в 09:22

Вы можете создать собственный файл маршрутизации в соответствии с вашими требованиями в app / provider / RouteServiceProvider. В моем случае я создал admin.php

protected function mapAdminRoutes()
    {
        Route::group([
            'middleware' => ['web', 'admin', 'auth:admin'],
            'prefix' => 'admin',
            'as' => 'admin.',
            'namespace' => $this->namespace,
        ], function ($router) {
            require base_path('routes/admin.php');
        });
    }

public function map()
    {
        $this->mapApiRoutes();

        $this->mapWebRoutes();

        $this->mapAdminRoutes();
    }
0
Akash Kumar Verma 12 Апр 2019 в 08:46