REST API中图像的GET资源的URL设计

时间:2017-09-18 06:35:47

标签: rest amazon-s3

我有一个Rest API,允许用户POST到端点上传照片:

POST /api/photos

回应如下:

{
  "id": "1",
  "title": "my image"
  "url": "https://some_s3_url"
}

然后,用户可以通过GET端点访问照片元数据

GET /api/photos/1

为获取图片网址内容建模网址的最佳方法是什么?请注意,我想确保用户能够访问此图像,因此直接请求s3存储桶网址将不起作用。

我考虑过这样做:

GET /api/photos/1/content

虽然那看起来很丑陋

1 个答案:

答案 0 :(得分:1)

首先,POST请求不应该返回响应,它可以返回名为location的头,以返回ex的已创建资源的URI。 http://youer-server/api/photos/1然后在GET请求此URL时,您可以将json对象返回为:

{
  "id": "1",
  "title": "my image",
  "url": "https://some_s3_url",
  "base64": .....
}

然后您可以将图像编码为base64并在同一对象中提供其内容。