php - Laravel Nova 和 Dingo API 路由冲突
问题描述
我有一个 Laravel API 服务器,它只有一个网络路由(测试页面),其他一切都通过dingo/api
包控制,一切正常。
在config/api.php
我设置'prefix' => env('API_PREFIX', '/')
为它只是一个 API 服务器。
从那以后,我安装了 Laravel Nova 并在/nova
路由上不断收到 JSON 错误消息:No hint path defined for [nova]
.
我最终发现我需要将前缀更改为'prefix' => env('API_PREFIX', '/api')
. 现在 Nova 工作正常,但我的 API 路由被破坏了。
在 Postman 中,当我执行 GET /test
(prefix /
) 时,Nova 不起作用,当我执行/api/test/
(prefix /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
所述
推荐阅读
- mysql - clickhouse-mysql 出现错误:ImportError: cannot import name 'charset_to_encoding' from 'pymysql.charset'
- android - 如何使用没有安全漏洞的 AWS S3 凭证?
- protobuf-net - protobuf.net v2.4.6 有效,V3.0.29 抛出“一旦生成序列化程序就无法更改类型”
- amazon-web-services - 使用 Glue 从 S3 存储桶转换 CSV 文件并将转换后的数据保存回另一个 S3 存储桶
- c# - 如何使 SignalR 服务器仅对特定 URL 使用长轮询?
- r - 带条件变量的交叉表
- java - 在 JSON 错误响应中包含异常消息
- regex - 在记事本++中将特定单词之后的行合并到另一个特定单词
- shopify - 在 Shopify 产品页面中添加附加(额外)产品作为下拉列表
- clearquest - 如何知道clearquest网页查询对应的url