REST:响应速度慢的用户界面?
我需要帮助为带有进度条的应用程序创建RESTful设计 想象一个应用程序,其中一个资源需要很长时间(1+分钟)才能响应HTTPGET(在我的例子中,我正在扫描网络以查找设备)。我希望客户端显示一个进度条,指示GET操作将需要多长时间,但为了使其正常工作,服务器需要向客户端提供操作的时间估计 如果操作缓慢:REST:响应速度慢的用户界面?,rest,progress-bar,Rest,Progress Bar,我需要帮助为带有进度条的应用程序创建RESTful设计 想象一个应用程序,其中一个资源需要很长时间(1+分钟)才能响应HTTPGET(在我的例子中,我正在扫描网络以查找设备)。我希望客户端显示一个进度条,指示GET操作将需要多长时间,但为了使其正常工作,服务器需要向客户端提供操作的时间估计 如果操作缓慢: httpget/devices 什么是一种提供时间估计的RESTful方式?我认为我不能使用: HTTP头/设备 因为HEAD应该返回与GET减去body相同的值,这(我认为)意味着我必须运行
httpget/devices
什么是一种提供时间估计的RESTful方式?我认为我不能使用:
HTTP头/设备
因为
HEAD
应该返回与GET
减去body相同的值,这(我认为)意味着我必须运行我试图避免的非常长的操作。有什么想法吗?也许只是创建一个单独的“进度”资源
GET /progress/foo
再想一想,我想我会选择。根据本文,异步操作最好用HTTP202来表示
HTTP POST/devices
HTTP202已接受。位置:/queues/32194532
200 OK
。响应应描述流程的挂起状态201
。对于GET/PUT/POST
的响应应该包含请求/创建/更新的资源的位置我不这样做的理由是,“因为它不是资源——它是假的”。假的?所以当你得到/person/1时,那是一个“真实”的人吗?同意-你可以把它作为一个单独的资源。例如,如果包含有关查询成本信息的资源位于/devices/queryinfo,则。。。。您可以在/devices pointing/devices/queryinfo中添加链接头。然后,客户可以选择从HEAD结果中获取链接,并在采取行动之前检查该行动的成本。这似乎是一种更好的方式,让客户能够按照自己的意愿检查状态(当然,服务器必须以某种方式更新该资源。对此问题的第一个回答可能也是一篇帖子。()