不同机制的RESTful语义

不同机制的RESTful语义,rest,Rest,想象一下,我正在创建一个API,允许用户将图像附加到他们的配置文件中,其中图像可能来自主体中的二进制提交,或者来自服务器将检索和处理的url 假设API期望一个包含二进制图像数据的PUT /user/jon/image 添加URl功能时,以下哪项更可取 A: PUT to /user/jon/image/url passing the url in the body 或 有没有一个标准的方法来处理这种情况?我觉得使用MIME类型来指示有效负载在语义上更为正确,但发现性稍差 有一次我遇到同样的

想象一下,我正在创建一个API,允许用户将图像附加到他们的配置文件中,其中图像可能来自主体中的二进制提交,或者来自服务器将检索和处理的url

假设API期望一个包含二进制图像数据的PUT

/user/jon/image
添加URl功能时,以下哪项更可取

A:
PUT to /user/jon/image/url
passing the url in the body

有没有一个标准的方法来处理这种情况?我觉得使用MIME类型来指示有效负载在语义上更为正确,但发现性稍差


有一次我遇到同样的问题,谢谢你。我首先通过PUT/user/jon/image/发布图像,然后通过PUT-to/user/jon/image/URL发布URL,解决了这个问题

问题是,用户发布了一张图片,却忘记了URL。我通过在会话中临时保存图像来解决这个问题,当发布URL时,我同时保存了URL和图像


问题是,这不是Restful,因为Restful服务器没有session。但是100%restful几乎是不可能的,所以这是你的选择。

你的问题是什么?我想知道什么是允许API从不同来源获得相同信息的最佳方案。我有点想为这个问题找到一个简洁的标题。你是要从url中检索图像,还是只在指定的位置使用图像?好的,url将由服务器检索并处理。一旦图像以威瑟尔形式提交,用户应该能够执行GET/user/jon/image来查看他们的图像
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?