django – 混合Websockets和REST

django – 混合Websockets和REST,第1张

概述我正在编写RESTfull api,例如用户可以在线程中创建新线程或新帖子.这是我使用普通POST请求的地方.我的API还允许用户相互发送消息.当用户收到我希望在浏览器中通知的消息时,我会使用websockets而不是每隔几秒轮询一次. 我的问题是 >由于我已经与websocket打开了连接,消息将会出现,我是否还应该使用此连接发送消息,创建新线程或帖子? >我可以使用POST请求创建消息和web 我正在编写RESTfull API,例如用户可以在线程中创建新线程或新帖子.这是我使用普通POST请求的地方.我的API还允许用户相互发送消息.当用户收到我希望在浏览器中通知的消息时,我会使用websockets而不是每隔几秒轮询一次.

我的问题是

>由于我已经与websocket打开了连接,消息将会出现,我是否还应该使用此连接发送消息,创建新线程或帖子?
>我可以使用POST请求创建消息和websockets以实时接收它们并获取GET请求以获取消息历史记录吗?这是好习惯吗?
>我正在使用django rest框架,它为我处理字段验证,如果我使用websocket而不是普通的POST请求创建资源,我将如何处理验证.

我在开发RESTfull API方面非常新,我只开始使用websockets进行开发.对不起任何对你来说似乎合乎逻辑的愚蠢的任务:)

谢谢

解决方法

Since I already have open connection with websocket where messages
will come,should I also use this connection to send messages,create
new threads or posts?

这取决于.如果您使用的是CQRS方法,并且您的写入由不同于读取的框处理,则您希望使用常规http POST;或者如果必须为可能不支持WebSockets的外部调用者提供兼容性.

Can I use POST request for creating messages and websockets to receive
them in realtime and GET request to get history of messages? Is this
good practice?

这听起来很合理.您将获得REST兼容性和WebSocket作为增强功能.我所做的是使用WebSockets来增强REST API.有些 *** 作都在两个部分,例如“自动完成”本质上是快速连续的调用,属于读取模型可以双向完成,但缺点是我无法利用内置输出缓存而且我必须为他们实现我自己的缓存.

I’m using django rest framework,which handles valIDation of fIElds
for me,how would I handle valIDation if I create resource using
websocket instead of normal POST request.

我不做django,但我想你可以以某种方式自己挂钩验证并在反序列化后在你的消息对象中调用它.

总结

以上是内存溢出为你收集整理的django – 混合Websockets和REST全部内容,希望文章能够帮你解决django – 混合Websockets和REST所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1196251.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存