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 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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