我有一个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
虽然那看起来很丑陋
答案 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并在同一对象中提供其内容。