Я совсем новичок в Laravel, я начал работать над проектом и хотел бы получить несколько советов по выбору хорошей архитектуры.
Я решил управлять своим фасадом с помощью Vue и своим бэкэндом с помощью Laravel.
Что я начал делать, так это захватывать маршруты через Laravel и отправлять их на мои маршруты Vue, чтобы определить, какие компоненты загружать и т. д. И я думал сделать вызовы api через axios в моих компонентах Vue.com для извлечения данных ( в формате JSON) с моего контроллера, чтобы отображать их в моем представлении.
Это все еще "веб" потребности.
Но я также думаю о будущем API, который я предоставлю.
Итак, какой вариант лучше выбрать?
Поместите немного Route::resource('model', 'Controller') в файл web.php, затем вызовите эти маршруты в моих компонентах Vue.com и поместите Route::resource('model','Controller') в мой файл api.php?
Спасибо за ответ. Не знаю, верным ли я иду или нет.
Клеман.
Спасибо @ippi за ответ. Да, я слышал о добавлении префикса и промежуточного программного обеспечения в зависимости от файла, в который вы помещаете свои маршруты. Но если вы хотите защитить свои маршруты API с помощью Laravel Passport, как вы можете легко управлять этим в контроллере в зависимости от того, исходит ли запрос API от стороннего клиента или через компоненты Vue.com?
Спасибо @ippi. Я читал, что промежуточное ПО группы web было активировано на маршрутах web.php, а не на маршрутах api.php ...
@ user2917569 Вы правы, маршруты / api по умолчанию не имеют состояния из-за того, как настроено промежуточное ПО
У меня есть еще один вопрос о части «Использование вашего API с помощью JavaScript» в документации laravel. В нем говорится, что мы должны разместить CreateFreshApiToken в промежуточном программном обеспечении группы «web» на Kernel.php, но наши маршруты API будут в «api.php», я что-то здесь пропустил?






Если вы посмотрите на приложение \ Http \ Kernel.php, вы заметите различие между сетью и группой api.
Обычно я сохраняю маршруты API в api.php, добавляю к нему префикс версии и загружаю контроллеры из пространства имен API. Это делает его немного более удобным в обслуживании, потому что методы v1 могут быть расширены потенциальной версией v2.
Route::prefix('v1')->namespace('Api\V1')->group(function () {
// ... API routes
});
Это просто группы для разделения ваших маршрутов на логические участки. Практически это не имеет никакого значения, кроме того, что api.php имеет префикс
/api/. (web.php:http://example.com/someroute, api.php:http://example.com/api/someroute). Так в вашем случае вызовы api? пойти с api.php. Кроме того, по прошествии нескольких лет в бизнесе: я думаю, имеет смысл делать то, что вы описываете, и прямо сейчас вы слишком беспокоитесь о том, чтобы сделать это правильно, вместо того, чтобы сделать это.