Meus Documentos

Barra Lateral Multi-raiz

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

RSocket & AsyncAPI

Primeiro, explica o método básico de uso do ponto de entrada /rsocket. O fluxo de geração de tipos de route/request/response e funções de serviço no AsyncAPI é a próxima forma opcional de integração do projeto.


Uso básico do adaptador RSocket.

Instale pacotes peer apenas em projetos que utilizam RSocket.

bash

O uso básico não requer AsyncAPI generator ou WebFlux. Importe createRSocketApi de /rsocket e passe o endpoint WebSocket, e apenas se necessário, passe o JWT como segundo argumento. mono ou stream é retornado como um Observable RxJS.

ts

Opcional: Geração automática de serviço AsyncAPI para integração de projeto.
Fluxo quase idêntico ao REST

REST é swagger.jsonusado, e RSocket éasyncapi-rsocket.jsonusado. Leia o documento para gerar tipos TypeScript e funções de serviço a partir da rota, tipo de interação, esquema de requisição e resposta.

1. Primeiro: verifique o que é rsocketCommonService com o código completo.

rsocketCommonService.ts também não é um arquivo gerado automaticamente pela biblioteca. Ele envolve diretamente o createRSocketApi no projeto, centralizando a política de conexão/reuso de JWT, e faz com que o serviço RSocket gerado importe apenas callRSocketMono/callRSocketStream. Abaixo está o código completo desse arquivo. Ele lê a autorização do headerStore do serviço REST público, e se não houver, chama a API de token uma vez para preparar o JWT, e se o JWT mudar, fecha a conexão RSocket existente e cria uma nova.

rsocketCommonService.ts
ts

Após a cópia, modifique o caminho de importação do headerStore, a localização do AsyncApiTypes, o caminho da API de token, NEXT_PUBLIC_RSOCKET_URL e o endpoint RSocket real de acordo com o projeto.

2. Funções do código do rsocketCommonService.

getRSocketUrl

No servidor, usa variáveis de ambiente e, no navegador, cria URLs ws ou wss com base no protocolo e host atuais.

fetchAuthorization

Quando não há JWT no headerStore, chama a API de token incluindo o cookie de sessão e lê os valores dos campos token, accessToken ou jwt.

getRsoketApi

Mesmo com várias solicitações simultâneas, compartilha a Promise de consulta do token e reutiliza a conexão existente para o mesmo JWT, criando uma nova conexão se o JWT mudar.

resetRsoketApi

Ao fazer logout ou remover informações de autenticação, fecha a conexão RSocket atual e inicializa o JWT e o cliente armazenados.

callRSocketMono / callRSocketStream

Verifica a solicitação e a resposta com o tipo de rota gerado e combina a Promise de preparação da conexão ao fluxo Observable RxJS para executar mono ou stream.

3. Criação de serviço AsyncAPI.
generateAsyncApiRSocket.cjs
js
4. Chamada da função gerada.

a seguir é um exemplo comum de requestStream que recebe o progresso do tratamento de várias tarefas. A string de rota e o tipo de evento estão dentro do serviço gerado.

BatchJobPage.tsx
tsx
Escolha entre mono e stream

Se a interação AsyncAPI for requestResponsea função gerada serácallRSocketMonose, requestStreamse não, callRSocketStreamusará. Na tela, ambos são Observables, mas o stream pode ser chamado várias vezes. next.

© 2026 Byeolnaerim. Todos os direitos reservados.IntroduçãoPolítica de Privacidade