想象一下,我正在创建一个API,允许用户将图像附加到他们的配置文件中,其中图像可能来自正文中的二进制提交,或者是服务器将检索和处理的URL。
假设API期望具有二进制图像数据的PUT
/user/jon/image
添加URl功能时,以下哪项更可取?
A:
PUT to /user/jon/image/url
passing the url in the body
或
B:
PUT /user/jon/image/
passing in a url in the body and setting a MIME type to advise the host whether or not the content is an image or an URL?
有没有一种处理这种情况的标准方法?我觉得使用MIME类型来指示有效负载在语义上更正确,但是可以发现的更少
由于
答案 0 :(得分:0)
一旦我遇到同样的问题。我通过首先通过“PUT / user / jon / image /”发布图像然后将带有PUT的URL发布到/ user / jon / image / url来解决它。
问题是,用户发布图片并忘记了网址。我通过在会话中暂时保存图像来解决这个问题,当URL发布时,我同时保存了URL和图像。
问题是,这不是Restful,因为一个安静的服务器没有sesions。但是100%的安抚几乎是不可能的,所以它是你的选择。