我有一个相当笼统的问题:如何正确调用RESTful Web服务中的方法?
该方法应该只在数据库中进行转换并且不返回任何内容(所以没有GET?!)。但是我也没有从客户端发送任何值(所以没有PUT / POST?!?)。
到目前为止,我正在使用GET。我认为这不是正确的方法......
提前致谢!
答案 0 :(得分:4)
REST代表“REpresentational State Transfer”。如果你没有转移表示你正在使用的东西的状态(在一个方向或另一个方向),那么它本身就是而不是 RESTful,并且没有正确的方法来做它并仍然调用它REST。
如果你想要RPC,那就做RPC。只是不要把它叫做RESTful。 :)
答案 1 :(得分:0)
如果您没有传输任何类型的数据,那么实际上没有“正确”的方法。你只是调用一个方法,所以REST并不真正适用。
答案 2 :(得分:0)
你这样做的方法是通过RPC。 REST适用于状态转移,但不适用于触发与状态转移无关的操作,例如影响大量记录的操作。我见过的大多数系统使用REST来支持UI的99%的工作,而最后1%的RPC使用RPC - 不涉及状态转移,批量更新操作的操作等等。您的目标应该是尽可能多地表达业务逻辑作为对状态应用的反应,为RPC保留极端情况。
答案 3 :(得分:0)
如今,带有“ JSON补丁”有效负载的PATCH可能是一种解决方法-但是它仍然不是RESTful的。
将其称为RPC更合适,并且只要有文档说明,它就不能在同一API中。用RPC方法和REST资源分开记录API。
例如