首页 > 解决方案 > 如何为我的 API 和我的 websocket 设置路由

问题描述

我正在制作一个 django/react webapplication,并且希望能够同时使用一个 rest api 和一个 websocket。

稍微设置一下舞台:我有一个身份验证应用程序和一个项目应用程序以及其他一些应用程序。我希望我的身份验证应用程序使用其余框架来处理登录/注册请求,之后我希望能够使用项目应用程序 websocket 以保持事情顺利进行。但是我不知道如何设置它。

后端(带有设置等的主项目应用程序)

身份验证(用于验证用户的小应用程序)(仅需要休息)

项目(使用 websockets 做事情的更大的应用程序,因为它需要不断更新)

我希望有人可以提供一些详细信息或信息链接,这些链接可以为我指明正确的方向。或者可能是一些代码示例

编辑1:所以我觉得这需要更多澄清。我目前正在使用 django rest 框架进行 api 设置和 django 通道用于 websocket 连接。我已经设法让两者分开工作,但是我的问题是,我如何设置路由以在两者之间切换。我相信我已经弄清楚了,如果更多的测试证明这一点,那么我将发布我的路由,设置, urls 和其他配置作为答案

标签: djangoreactjsrestwebsocketdjango-rest-framework

解决方案


如果您将 django 用于所有这些,您可能应该使用这些:

上述两个框架都可以开箱即用地处理身份验证,并且非常容易设置。在我看来,DRF 对于它提供的其他功能来说太容易了。

我还会花一些时间思考将所有请求集中在 Web 套接字上是否明智。根据我的经验,最好为此使用 ajax,因为您可以更轻松地整理请求和响应,因为您的 ajax 将等待来自上游的响应,而 websocket 将发送请求而不等待响应,并且上游可以发送响应您最初请求的范围。换句话说,您需要能够识别您的 websocket 历史上发出的请求,以便处理上游发回的消息,以便您了解如何处理消息的上下文


推荐阅读