我正在使用 Laravel 4.2 构建一个 RESTful 应用程序,使用资源 Controller ,如下所述: https://scotch.io/tutorials/simple-laravel-crud-with-resource-controllers
该应用程序是一个在线发布平台。 该应用程序的一部分允许客户上传图像并为不同的出版物裁剪图像。 每张图片都可以标记标题、艺术家、描述。
通常,RESTful GET-index 请求 URL 如下所示。 HTTP GET:example.com/image/
每张图片都将使用这样的 URL 进行检索。 HTTP GET:example.com/image/{id}
图像编号 3 将通过 HTTP DELETE 删除到这样的 URL。 HTTP 删除:example.com/image/3
然而,我的 RESTful 困境出现了,因为每个图像都必须以预定义的裁剪尺寸存储。 因此,图像资源将共享标题、艺术家和描述,并且将具有必须以四种不同尺寸检索的表示: 原来的, 1024x768, 640x480, 320x240
预计需求量约为每年 80,000 张图像,从而产生 320,000 个单独的图像文件(原始图像 + 每个图像 3 个裁剪)。
这是我正在寻找“最佳实践”建议的地方...
我的图像模型应该是什么样子,以允许客户找到一个端点以便轻松检索每个裁剪图像?
处理标题、艺术家和描述的共同性质的好方法是什么?
如果我想检索原始图像和 1024x768 图像 #3,URL 会是什么样子: 原文:example.com/image/??? 1024x768:example.com/image/???
如果我想删除图像 #3 的所有裁剪版本,URL 会是什么样子: HTTP 删除:example.com/image/???
感谢您分享任何想法!
最佳答案
我不知道 Laravel 如何与 Restful API 一起工作,但总的来说,Restful API 中的 url 规则有点不同。
- 获取单个对象 - http://example.com/images/ {id} - 使用方法 GET
- 获取列表 - http://example.com/images - 使用方法 GET
- 插入/创建一个新对象 - http://example.com/images - 使用方法 POST
- 删除 - http://example.com/images/ {id} - 使用方法 DELETE
- PUT - http://example.com/images/ {id} - 使用 PUT 方法
- 获取带有一些参数的单个对象 - http://example.com/images/ {id}?type=small - 使用方法 GET
我还找到了this文章非常有用。
关于php - Laravel RESTful 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27724771/