首页 > 解决方案 > Laravel Route apiResource(apiResource 和 route 中资源的区别)

问题描述

apiResource在 Route 中使用,它(index, create, show, update, destroy)exampleController. 当我想使用 show 方法时,路线将不起作用。我该怎么办?我想是因为{fruits}但我没有怎么解决呢?

Route::apiResource('/fruit/{fruits}/apples', 'exampleController');

我在浏览器中的路线是:

localhost:8000/api/fruits/testFruitSlug/apples/testAppleSlug

apiResource 和 resource 在路由中的区别: Route::apiResource()只为索引、存储、显示、更新和销毁创建路由,同时Route::resource()还添加了一个在 API 上下文中没有意义的创建和编辑路由。

标签: apilaravel-5model-view-controllerroutesresources

解决方案


要快速生成不包含 create 或 edit 方法的 API 资源控制器,请在执行 make:controller 命令时使用 --api 开关:

php artisan make:controller API/PhotoController --api

尝试使用命令行生成您的控制器。它会减轻你的压力。然后您可以在您的路线中执行此操作

Route::apiResource('photos', 'PhotoController');

推荐阅读