【问题标题】:Unable to access laravel 5.5 API route using Postman software使用 Postman 软件无法访问 laravel 5.5 API 路由
【发布时间】:2018-12-17 13:19:20
【问题描述】:

我的 api.php 路由是

Route::get('/allposts','PostController@index');

控制器功能正在使用 web.php 路由文件

public function index()
{
    $posts= Post::all();
    return PostResource::collection($posts);
}

我的资源是 toArray 函数是

public function toArray($request)
{
    return parent::toArray($request);
}

使用 GET 的邮递员链接是 “queuetest.com/api/allposts”
"http://queuetest.com/api/allposts" 两者都不起作用 并在 Post 人和浏览器中获得 Result:抱歉,找不到您要查找的页面

【问题讨论】:

  • 用命令检查: php artisan route:list 输出看看你是否弄乱了路由……你的 api 路由 /api/allposts 应该在列表中,方法是 GET 也尝试一个 php artisan route:clear 以防万一你缓存了路由,也许它没有得到你的更改....

标签: php laravel rest


【解决方案1】:

当您在索引方法中将var_dump('test');die(); 作为第一行时,您是否得到了除Sorry the page you're looking for could not be found 消息之外的其他内容。

编辑:尝试在/allPosts之前删除/

另一个编辑:如果 mapApiRoutes 前缀设置为 'api',请检查您的 RouteServiceProvider

【讨论】:

    【解决方案2】:

    如果您使用的是开箱即​​用的默认路由配置,如果您想在/api 命名空间中访问它,您应该将您的路由放在routes/api.php 中。现在,应该可以从http://queuetest.com/allposts 访问该路线。

    可以在App\Providers\RouteServiceProviders.php 中配置此行为。如果您修改了路由配置,有很多事情可能会导致这种行为,并且如果不查看更多代码就无法定位问题。

    【讨论】:

    • 感谢 Emil 的回复:当我在 web.php 路由文件中定义路由时,它实际上是在默认配置下工作的。但是当我在 api.php 文件中定义路由时,会显示主题错误。如何在 api.php 文件中定义路由?
    • 与将其添加到 web.php 文件中的方式相同
    猜你喜欢
    • 2019-04-02
    • 2018-09-01
    • 2019-09-20
    • 1970-01-01
    • 2019-04-24
    • 2018-08-05
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多