laravel集成dingo+JWTAuth时出现404错误

laravel集成dingo+JWTAuth时出现404错误

PHP小彩虹2021-07-17 23:35:16310A+A-

运行环境

  1. php5.5.12
  2. laravel 5.1
  3. postman 请求接口

还原场景

web开发项目中经常需要给APP写接口,而在laravel框架中一般推荐使用dingo+JWTAuth完成接口,根据搜索的结果完成了dingo和JWTAuth的设置,可是通过postman请求接口时,却总是出现404错误,但是通过执行php artisan route:list命令时,显示却是正常的,显示如下图:

API请求返回的结果

执行artisan时显示路由的信息

出现了这个问题,首先想到的是搜索,可是搜索了半天都没有找到自己想要的结果(估计是自己搜索的姿势不对引起的),或者说是没有搜索到跟自己遇到同样问题的人,既然国内的搜索不到,那就上国外的网站搜索一下,可是用谷歌搜索(翻墙过去)也没有找到自己想要的,这就要开始怀疑人生了,最后想到一个程序员经常去的网站,stackoverflow,结果还真就搜到自己想要的内容,瞬间觉得精气神不一样了。下面是搜索的结果页。

Stack Overflow搜索结果页

在第二个结果中找到了我想要的内容,立刻马上就点击查看,一看提问者和我遇到的是相同的问题,浏览了人家遇到此问题时的解决方法,显示的结果如图:

Stack Overflow网站的搜索结果

解决办法

1. 运行下面的命令:
    php artisan api:cache
2. 在.env文件中设置API的前缀
    API_PREFIX=api

通过执行上面的2个问题就能解决大部分人遇到的问题,而我自己也是遇到的第一个问题,没有运行api:cache这个命令,现在知道了要运行这个命令,再看了人家给出的解释,当然下面的这句话是我自己翻译的。

首先在你修改或编辑完你的routes.php文件之后,你需要运行下面的命令php artisan api:cache,Dingo API是从路由缓存文件中获得路由信息的,在路由文件中不能定义匿名函数。Dingo通过缓存路由时抛出错误信息,将欢迎视图移到控制器方法中。

对应的解决办法

欢迎指正问题。

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1

联系我们