我正在使用REST构建客户端产品.所有用户交互都将通过浏览器完成(配置内容将在localhost上运行的服务器上).我希望一切都符合REST,即使应用程序将在客户端的机器上运行localhost
,也永远无法从外部访问.
命令非常简单:
更新
重新开始
同步
这是我想出的:
POST到/ with'action'参数(JSON)详细说明细节
投入新资源
后续的GET请求将返回状态
命令完成后,资源将被删除
什么是最RESTful的实现方式?
注意:
我不是要求仔细检查我的软件架构.我有理由选择REST接口而不是unix域套接字,CLI接口,甚至是常规GUI接口.理由会使问题过于复杂化并使其过于局部化.
我对几个不同的项目(仅限客户端和服务器)都有相同的需求,我正在寻找有关最佳实践的社区意见.
我会使用启动进程所需的适当参数POST到/ process资源,然后我会让它将Location头返回到实际代表进程状态的资源(/ process/123).然后,您可以在该进程上使用GET来获取有关它的最新信息.
我不会自动删除该进程,因为如果你这样做,客户端将无法知道进程是否正确完成,只是它完成了(好吧,停止运行).
注意到,客户端当然可以在资源完成时删除资源,或者您可以在一段合理的时间之后将其清理,以便对它感兴趣的人可能不再存在.