求助Route::apiResource设置的路由是不支持POST吗

1. 环境描述

1). 当前使用的 Laravel 版本?

laravel10

2). 当前使用的 php/php-fpm 版本?

PHP 版本:8.1.1

3). 业务环境

本地测试

4). 相关软件版本

APIpost工具、Apifox工具

2. 问题描述?

1.用Route::apiResource设置的路由,store不支持POST
2.用 Route::post设置的路由是可以的


Route::apiResource('/sys_tenant',Admin\SysTenantController::class);
Route::post('sys_tenant/store', 'Admin\SysTenantController@store');

3. 实际得到的结果?


《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

控制器《Laravel 10 中文文档》

这是resource路由,没有store后缀

6个月前 评论
treer (楼主) 6个月前
讨论数量: 3

控制器《Laravel 10 中文文档》

这是resource路由,没有store后缀

6个月前 评论
treer (楼主) 6个月前

apiResource路由封装,是rest理论标准实现,通过Http Method来操作资源,自动指向对应的action

资源动作 资源URI Http Method ApiResource指向的Action
列表 /sys_tenants GET index
详情 /sys_tenants/{sys_tenant} GET show
创建 /sys_tenants POST store
更新 /sys_tenants/{sys_tenant} UPDATE update
删除 /sys_tenants/{sys_tenant} DELETE delete

1.按rest理论设计,资源一般以复数形式声明,文章中的sys_tenant应该调整为sys_tenants
2.apiResource方法首个参数为资源名称,非URI,一般只需要定义名称即可,示例Route::apiResource('sys_tenants',Admin\SysTenantController::class);

6个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!