获取资源的 RESTful 方式,但如果尚不存在则创建它

git*_*rik 6 api rest restful-architecture

对于我正在创建的 RESTful API,我需要有一些获取资源的功能,但如果它不存在,则创建它然后返回它。我不认为这应该是 GET 请求的默认行为。我可以在给 GET 请求的某个参数上启用此功能,但这似乎有点脏。

主要的一点是我只想为此做一个请求,因为这些请求将通过可能具有缓慢互联网连接的移动设备完成,所以我想尽可能地限制需要完成的请求。

我不确定这是否适合 RESTful 世界,但如果它不适合,它会让我失望,因为这意味着我必须对 REST 的想法进行一些修改。

有谁知道这样做的 RESTful 方式,或者不与 REST 理念冲突的漂亮方式?

Mic*_*l-O 1

很简单的:

  1. 请求:HEAD,检查响应代码:404 或 200。如果需要正文,请使用 GET。
  2. 它不可用,执行 PUT 或 POST,服务器应响应 204 和带有新创建资源的 URL 的 Location 标头。