Restful 笔记

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

这个路由声明创建多个路由来处理资源上的各种行为。生成的控制器为每个行为保留了方法,同时还包括了 处理 HTTP 动作和 URI 的声明注释。

资源控制器操作处理

动作 URI 行为 路由名称
GET /photos index photos.index
GET /photos/create create photos.create
POST /photos store photos.store
GET /photos/{photo} show photos.show
GET /photos/{photo}/edit edit photos.edit
PUT/PATCH /photos/{photo} update photos.update
DELETE /photos/{photo} destroy photos.destroy
踩坑经历:

在 reoute/web.php 中没有使用 Route::resource() 来创建路由, 而是一项一项分开写的, 到 更新这里使用的是 Route::patch(), 而在 blade 模板中 使用的 method 是 {{ method_field('put') }} , 这样就造成了错误 no message

试了几次, 正确的做法是:
  1. 如果使用 Route::resource(), 那么 blade 模板里面可以是 put, 也可以是 patch
  2. 如果不使用 Route::resource(), 那么 blade 模板里面需要与 Route 设置的 http 请求方法一致, Route::put() 与 {{ method_field('put') }}, Route::patch() 与 {{ method_field('patch') }}
patch 与 put 的区别

定义上: patch 是局部更新, put 是全部更新; 理论上来说, 如果使用 put 而只传递了更新的字段, 那么未更新的字段被清空(也要被更新 => 全部更新)
实际使用上: 后端并没有按理论上定义的那么做( Restful 只是个风格, 推荐的标准 ), 所以没有区别, 可任选其一

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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