我正在创建一个 API,用于上传与某些汽车相关的文件,例如:
我想出了两个可能的端点来上传包含汽车信息的文件,文件中的数据将保存到数据库:
POST: /api/v1/files/cars /api/v1/uploads/cars
从数据库下载汽车数据(将被处理)的两种可能方式,但会以文件形式下载:
GET: /api/v1/templates/cars /api/v1/files/cars
这可能是一个品味问题,但我想获得关于什么更好的意见,资源是上传还是文件?
REST不关心您对资源标识符使用什么拼写约定,除了它们应该是统一资源标识符这一事实之外。
URI 标识资源模型中的资源,REST 的部分要点是与资源模型无关(以便我们可以使用相同的通用语义与任何资源模型进行通信)。
决定向服务器发送信息是否应该使用与从服务器读取信息相同的资源(因此使用相同的资源标识符)是设计适合您需求的资源模型问题的一部分。
您可能希望对两者使用相同的资源的一个原因是:通用 HTTP 组件可以执行有用的缓存失效(如果它们知道涉及相同的资源)。
但这是一个权衡 - 缓存失效有多重要,其他设计替代方案的好处有多重要,等等。