gpt4 book ai didi

rest - 如果允许永久请求(服务器推送),则是 API RESTful

转载 作者:行者123 更新时间:2023-12-01 01:16:20 26 4
gpt4 key购买 nike

我正在编写一个 REST API,提供对资源的 CRUD 操作。

我希望用户能够注册某些资源更改并通过服务器推送获取更新。对于服务器推送,我将提供对反向 ajax、隐藏 iframe 和 websockets 的支持。为了尽可能 REST,我创建了一个 Streaming 资源来处理注册和到客户端的连接:

流媒体资源:

URI uri : A GET against this URI refreshes the client representation of the resources accessible to this user.
bool WebSocket : Indicate if websocket is available on this server
bool ReverseXHR : Indicate if ReverseXHR is available on this server
bool HiddenIframe : Indicate if HiddenIframe is available on this server
Registration[] Registrations : The set of registration tasks.

OpenChannel : Open streaming channel from webserver to client. GET parameter type=(websocket|xhr|hiddeniframe)

CloseChannel : Close streaming channel from webserver to client. GET parameter type=(websocket|xhr|hiddeniframe)



调用 openchannel?type=websocket将打开 websocket 并开始流式传输注册值的数据。

我已经阅读了很多文章,但我仍然有点困惑。执行此操作后,我还可以调用我的 API REST 吗?如果不是(或是),为什么?

感谢您的帮助!

最佳答案

首先,始终实现有意义的方法来解决您面临的问题。符合给定的架构风格提供了特定的好处,但这不应该排除对给定问题的务实解决方案。

但话虽如此,您似乎正在使用资源数据流作为在客户端和服务器之间来回“隧道”信息的一种方式。我对此很陌生,但在我看来,隧道数据与 uniform interface 背道而驰。 REST architectural style. 中的约束基于 HTTP 的隧道是针对基于肥皂的服务的批评级别之一。

关于rest - 如果允许永久请求(服务器推送),则是 API RESTful,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10090794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com