我正在开发一个我想成为 RESTful 的 Web 服务。我知道 CRUD 做事的方式,但我有一些我不完全清楚的事情。所以是这样的:
我有一个跟踪服务,它在浏览器(客户端)中收集一些数据,然后将其发送到跟踪服务器。有两种情况,一种存在配置文件,另一种不存在。最后,服务返回一些必须注入 DOM 的元素。
所以基本上我需要2个网络服务:
问题 1:现在我只使用 GET,但我重写了服务器以支持 CRUD。所以在这种情况下,如果配置文件不存在,我必须使用 POST。http://mydomain.tld/profiles/ 之类的东西,然后是 POST 有效负载具有要保存的信息。如果配置文件存在,我使用 PUT 和http://mydomain.tld/profiles/ / 并且 PUT 的有效负载有数据要保存。一切都很好,但问题是据我了解,xmlhttp 不支持 PUT。现在可以使用 POST 即使它是更新?
问题 2:如前所述,当制作轨道时,我的服务会返回一些要注入 DOM 的元素。从逻辑上讲,为了保持 RESTful,我想我必须使用 POST/PUT 来更新配置文件,然后 GET 来获取要注入的元素。但是为了节省服务器端的带宽和资源,将带有 POST/PUT 的元素返回到配置文件更有意义,即使它是不同的资源。你对此有何看法?
BR/太阳
编辑:
问题 3:在某些情况下,我只想更新配置文件而不接收回元素。我是否仍然可以使用相同的资源,然后使用有效负载参数来指定我是否想要元素,例如“dont_receive_elements:true”