У меня есть сервер Laravel API, у которого есть только один веб-маршрут (тестовая страница), все остальное контролируется через dingo/api
пакет и все работает правильно.
В config/api.php
Я поставил 'prefix' => env('API_PREFIX', '/')
так как это всего лишь сервер API.
С тех пор я установил Laravel Nova и продолжал получать сообщения об ошибках JSON на /nova
маршрут: No hint path defined for [nova]
,
В конце концов я понял, что мне нужно изменить префикс на 'prefix' => env('API_PREFIX', '/api')
, Теперь Nova работает правильно, но мои маршруты API не работают.
В Почтальоне, когда я делаю GET /test
(префикс /
) работает, но Нова нет, и когда я делаю /api/test/
(префикс /api
), Nova работает, но я получаю ошибку при возврате API:
{
"message": "",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/home/vagrant/Code/guest-api/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
"line": 179,
"trace": [
{
"file": "/home/vagrant/Code/guest-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 633,
"function": "match",
"class": "Illuminate\\Routing\\RouteCollection",
"type": "->"},
{
"file": "/home/vagrant/Code/guest-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 622,
"function": "findRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"},
...
]
}
Без сообщения об ошибке я не вижу, что не так? Кроме того, когда я делаю php artisan api:routes
Я получаю правильный маршрут обратно:
+------+----------+-----------------+------+-----------------------------------------------+-----------+------------+----------+------------+
| Host | Method | URI | Name | Action | Protected | Version(s) | Scope(s) | Rate Limit |
+------+----------+-----------------+------+-----------------------------------------------+-----------+------------+----------+------------+
| | GET|HEAD | /something/test | | App\Http\Controllers\Auth\AuthController@test | No | v1 | | |
+------+----------+-----------------+------+-----------------------------------------------+-----------+------------+----------+------------+
Вместо добавления /api
в качестве резервного параметра, вы должны добавить префикс к вашему .env
файл как: API_PREFIX=api
как описано Вот
У меня есть сервер Laravel API, у которого есть только один веб-маршрут (тестовая страница), все остальное контролируется с помощью dingo/api
пакет и все работает правильно.
В config/api.php
Я поставил 'prefix' => env('API_PREFIX', '/')
так как это всего лишь сервер API.
С тех пор я установил Laravel Nova и продолжал получать сообщения об ошибках JSON на /nova
маршрут: No hint path defined for [nova]
,
В конце концов я понял, что мне нужно изменить префикс на 'prefix' => env('API_PREFIX', '/api')
, Теперь Nova работает правильно, но мои маршруты API не работают.
В Почтальоне, когда я делаю GET /test
(префикс /
) работает, но Нова нет, и когда я делаю /api/test/
(префикс /api
), Nova работает, но я получаю ошибку при возврате API:
{
"message": "",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/home/vagrant/Code/guest-api/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
"line": 179,
"trace": [
{
"file": "/home/vagrant/Code/guest-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 633,
"function": "match",
"class": "Illuminate\\Routing\\RouteCollection",
"type": "->"},
{
"file": "/home/vagrant/Code/guest-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 622,
"function": "findRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"},
...
]
}
Без сообщения об ошибке я не вижу, что не так? Кроме того, когда я делаю php artisan api:routes
Я получаю правильный маршрут обратно:
+------+----------+-----------------+------+-----------------------------------------------+-----------+------------+----------+------------+
| Host | Method | URI | Name | Action | Protected | Version(s) | Scope(s) | Rate Limit |
+------+----------+-----------------+------+-----------------------------------------------+-----------+------------+----------+------------+
| | GET|HEAD | /something/test | | App\Http\Controllers\Auth\AuthController@test | No | v1 | | |
+------+----------+-----------------+------+-----------------------------------------------+-----------+------------+----------+------------+
Вместо добавления /api
в качестве резервного параметра, вы должны добавить префикс к вашему .env
файл как: API_PREFIX=api
как описано Вот